{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "日期：11月1号    \n",
    "更新日期：11月8号（更新内容） 11月14号（更新内容）    \n",
    "撰写人：黄泽豪   \n",
    "\n",
    "-----\n",
    "\n",
    "## 课堂学习内容：\n",
    "\n",
    "> * 1、高德API-WEB服务    \n",
    "> * 2、地理/逆地理编码   \n",
    "> * 3、路径规划\n",
    "> * 4、行政区域查询\n",
    "> * 5、搜索POI\n",
    "> * 6、IP定位\n",
    "> * 7、批量请求接口\n",
    "> * 8、静态地图\n",
    "> * 9、坐标转换\n",
    "> * 10、天气查询\n",
    "> * 11、输入提示\n",
    "> * 12、交通态势\n",
    "...\n",
    "\n",
    "## 课后作业：\n",
    "\n",
    "> * 1、[地理/逆地理编码](https://lbs.amap.com/api/webservice/guide/api/georegeo)   \n",
    "> * 2、[路径规划](http://lbs.amap.com/api/webservice/guide/api/direction) \n",
    "> * 3、[行政区域查询](https://lbs.amap.com/api/webservice/guide/api/district)\n",
    "> * 4、[搜索POI](https://lbs.amap.com/api/webservice/guide/api/search)\n",
    "> * 5、[IP定位](https://lbs.amap.com/api/webservice/guide/api/ipconfig)\n",
    "> * 6、[批量请求接口](https://lbs.amap.com/api/webservice/guide/api/batchrequest)\n",
    "> * 7、[静态地图](https://lbs.amap.com/api/webservice/guide/api/staticmaps)\n",
    "> * 8、[坐标转换](https://lbs.amap.com/api/webservice/guide/api/convert)\n",
    "> * 9、[天气查询](https://lbs.amap.com/api/webservice/guide/api/weatherinfo)\n",
    "> * 10、[输入提示](https://lbs.amap.com/api/webservice/guide/api/inputtips)\n",
    "> * 11、[交通态势](https://lbs.amap.com/api/webservice/guide/api/trafficstatus)\n",
    "..."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 准备工作"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 253,
   "metadata": {},
   "outputs": [],
   "source": [
    "import requests,json\n",
    "import pandas as pd\n",
    "huang_key = \"afd48d21eae6b744e054a3f1ac4411d8\""
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 地理编码\n",
    "\n",
    "> * 1、结构化地址的定义： 首先，地址肯定是一串字符，内含国家、省份、城市、区县、城镇、乡村、街道、门牌号码、屋邨、大厦等建筑物名称。按照由大区域名称到小区域名称组合在一起的字符。一个有效的地址应该是独一无二的。注意：针对大陆、港、澳地区的地理编码转换时可以将国家信息选择性的忽略，但省、市、城镇等级别的地址构成是不能忽略的。暂时不支持返回台湾省的详细地址信息。    \n",
    "> * 2、url:https://restapi.amap.com/v3/geocode/geo?parameters      \n",
    "> * 3、requests.get()       \n",
    "> * 4、适用场景：将详细的结构化地址转换为高德经纬度坐标。且支持对地标性名胜景区、建筑物名称解析为高德经纬度坐标。\n",
    "    结构化地址举例：北京市朝阳区阜通东大街6号转换后经纬度：116.480881,39.989410 \n",
    "    地标性建筑举例：天安门转换后经纬度：116.397499,39.908722\n",
    "> * 5、参数：   \n",
    "\n",
    ">> * A.必选：key（高德API秘钥），address(结构化地址)  \n",
    ">> * B.可选：city(指定查询的城市)，batch(批量查询控制，缺省值：false)，sig（数字签名），output（返回数据格式类型，缺省值：JSON），callback（回调函数）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 254,
   "metadata": {},
   "outputs": [],
   "source": [
    "#### 准备数据 请思考：高德API是怎么获取数据的？数据库查询\n",
    "中大南方_address = \"广东省广州市中山大学南方学院\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 255,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 地理编码函数\n",
    "def geo(key,address,city=None,batch=\"false\",sig=None,output=\"JSON\",callback=None):\n",
    "    \"\"\"获取高德API的地理编码\n",
    "    注释：key是指高德API的秘钥，请先去注册\n",
    "          address是指结构化地址，具体请查看：https://lbs.amap.com/api/webservice/guide/api/georegeo   \n",
    "    \"\"\"\n",
    "    url = \"https://restapi.amap.com/v3/geocode/geo?parameters\"\n",
    "    params = {\n",
    "    \"key\":huang_key,\n",
    "    \"address\":中大南方_address,\n",
    "    \"city\":city,\n",
    "    \"batch\":batch,\n",
    "    \"sig\":sig,\n",
    "    \"output\":output,\n",
    "    \"callback\":callback\n",
    "    }\n",
    "    \n",
    "    response = requests.get(url,params=params)\n",
    "    results = r.json()\n",
    "    return results"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 256,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Response [200]>"
      ]
     },
     "execution_count": 256,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "url = \"https://restapi.amap.com/v3/geocode/geo?parameters\"\n",
    "params = {\n",
    "    \"key\":huang_key,\n",
    "    \"address\":中大南方_address\n",
    "}\n",
    "# positional argument follows keyword argument\n",
    "# pa 一定要放在前面，keyword argument放在末尾！！！可以\n",
    "response = requests.get(url,params=params)\n",
    "response"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 257,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'status': '1',\n",
       " 'info': 'OK',\n",
       " 'infocode': '10000',\n",
       " 'count': '1',\n",
       " 'geocodes': [{'formatted_address': '广东省广州市从化区中山大学南方学院',\n",
       "   'country': '中国',\n",
       "   'province': '广东省',\n",
       "   'citycode': '020',\n",
       "   'city': '广州市',\n",
       "   'district': '从化区',\n",
       "   'township': [],\n",
       "   'neighborhood': {'name': [], 'type': []},\n",
       "   'building': {'name': [], 'type': []},\n",
       "   'adcode': '440117',\n",
       "   'street': [],\n",
       "   'number': [],\n",
       "   'location': '113.679287,23.632575',\n",
       "   'level': '兴趣点'}]}"
      ]
     },
     "execution_count": 257,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "中大南方_location = response.json()\n",
    "中大南方_location"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 逆地理编码\n",
    "\n",
    "> * A.url : https://restapi.amap.com/v3/geocode/regeo?parameters    \n",
    "> * B.requests.get() \n",
    "> * C.适用场景：将经纬度转换为详细结构化的地址，且返回附近周边的POI、AOI信息。\n",
    "例如：116.480881,39.989410 转换地址描述后：北京市朝阳区阜通东大街6号\n",
    "> * D.参数：    \n",
    "\n",
    ">> * 1、必选：key（高德API秘钥）,location(经纬度坐标)\n",
    ">> * 2、可选: poitype（返回附近POI类型），radius[(默认：1000），搜索半径]，extensions[(默认：base)可选\"all\",描述数据详细指数]，batch（批量查询控制，缺省值：false），roadlevel（道路等级），sig（数字签名），output（返回数据格式类型，缺省值：JSON），callback（回调函数），homeorcorp（是否优化POI返回顺序，需要extensions为all时才能生效，缺省值：0）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 259,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 数据准备 中大南方_location\n",
    "中大南方_location = '113.679287,23.632575'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 260,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 逆地理编码函数\n",
    "def regeo(key,location,poitype=None,radius=1000,extensions=\"base\",batch=\"false\",roadlevel=None,sig=None,output=\"JSON\",callback=None,homeorcorp=0):\n",
    "    \"\"\"获取高德API的地理编码\n",
    "    注释：key是指高德API的秘钥，请先去注册\n",
    "          location是指经纬度坐标，具体请查看：https://lbs.amap.com/api/webservice/guide/api/georegeo\n",
    "    \"\"\"\n",
    "    url = \"https://restapi.amap.com/v3/geocode/regeo?parameters\"\n",
    "    \n",
    "    params = {\n",
    "        \"key\":key,\n",
    "        \"location\":中大南方_location,\n",
    "        \"poitype\":poitype,\n",
    "        \"radius\":radius,\n",
    "        \"extensions\":extensions,\n",
    "        \"batch\":batch,\n",
    "        \"roadlevel\":roadlevel,\n",
    "        \"sig\":sig,\n",
    "        \"output\":output,\n",
    "        \"callback\":callback,\n",
    "        \"homeorcorp\":homeorcorp\n",
    "    }\n",
    "    \n",
    "    r = requests.get(url,params)\n",
    "    results = r.json()\n",
    "    return results"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 261,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Response [200]>"
      ]
     },
     "execution_count": 261,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "url = \"https://restapi.amap.com/v3/geocode/regeo?parameters\"\n",
    "params = {\n",
    "    \"key\":huang_key,\n",
    "    \"location\":中大南方_location,\n",
    "    \"extensions\":\"all\"\n",
    "}\n",
    "r = requests.get(url,params)\n",
    "r"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 262,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'status': '1',\n",
       " 'regeocode': {'roads': [{'id': '020F49F0050461203',\n",
       "    'location': '113.68,23.634',\n",
       "    'direction': '南',\n",
       "    'name': '博学路',\n",
       "    'distance': '156.951'},\n",
       "   {'id': '020F49F0050462451',\n",
       "    'location': '113.677,23.6347',\n",
       "    'direction': '东南',\n",
       "    'name': '中山路',\n",
       "    'distance': '343.951'},\n",
       "   {'id': '020F49F006047765',\n",
       "    'location': '113.682,23.6394',\n",
       "    'direction': '南',\n",
       "    'name': 'S29从莞深高速',\n",
       "    'distance': '807.947'}],\n",
       "  'roadinters': [{'second_name': '中山路',\n",
       "    'first_id': '020F49F0050461203',\n",
       "    'second_id': '020F49F0050462451',\n",
       "    'location': '113.676794,23.634661',\n",
       "    'distance': '343.951',\n",
       "    'first_name': '博学路',\n",
       "    'direction': '东南'}],\n",
       "  'formatted_address': '广东省广州市从化区温泉镇中山大学南方学院',\n",
       "  'addressComponent': {'city': '广州市',\n",
       "   'province': '广东省',\n",
       "   'adcode': '440117',\n",
       "   'district': '从化区',\n",
       "   'towncode': '440117103000',\n",
       "   'streetNumber': {'number': '7号',\n",
       "    'location': '113.678600,23.633329',\n",
       "    'direction': '西北',\n",
       "    'distance': '109.203',\n",
       "    'street': '博学路'},\n",
       "   'country': '中国',\n",
       "   'township': '温泉镇',\n",
       "   'businessAreas': [[]],\n",
       "   'building': {'name': [], 'type': []},\n",
       "   'neighborhood': {'name': [], 'type': []},\n",
       "   'citycode': '020'},\n",
       "  'aois': [{'area': '536585.849985',\n",
       "    'type': '141201',\n",
       "    'id': 'B00140MR9A',\n",
       "    'location': '113.679262,23.632583',\n",
       "    'adcode': '440117',\n",
       "    'name': '中山大学南方学院',\n",
       "    'distance': '0'}],\n",
       "  'pois': [{'id': 'B00140MR9A',\n",
       "    'direction': '西',\n",
       "    'businessarea': [],\n",
       "    'address': '温泉大道882号',\n",
       "    'poiweight': '0.450402',\n",
       "    'name': '中山大学南方学院',\n",
       "    'location': '113.679262,23.632583',\n",
       "    'distance': '2.69979',\n",
       "    'tel': '020-61787331',\n",
       "    'type': '科教文化服务;学校;高等院校'},\n",
       "   {'id': 'B0FFF2VMJ4',\n",
       "    'direction': '东南',\n",
       "    'businessarea': [],\n",
       "    'address': '温泉大道886号中山大学南方学院内',\n",
       "    'poiweight': '0.148531',\n",
       "    'name': '中山大学南方学院-综合楼',\n",
       "    'location': '113.680117,23.631544',\n",
       "    'distance': '142.466',\n",
       "    'tel': [],\n",
       "    'type': '科教文化服务;学校;学校'},\n",
       "   {'id': 'B0FFFTC9PH',\n",
       "    'direction': '东北',\n",
       "    'businessarea': [],\n",
       "    'address': '从莞深高速(中山大学南方学院)',\n",
       "    'poiweight': '0.193172',\n",
       "    'name': '中山大学南方学院教学楼10号',\n",
       "    'location': '113.680125,23.633492',\n",
       "    'distance': '132.988',\n",
       "    'tel': [],\n",
       "    'type': '科教文化服务;科教文化场所;科教文化场所'},\n",
       "   {'id': 'B00141TQKX',\n",
       "    'direction': '西北',\n",
       "    'businessarea': [],\n",
       "    'address': '温泉大道882',\n",
       "    'poiweight': '0.148531',\n",
       "    'name': '中山大学南方学院教学楼6号',\n",
       "    'location': '113.678424,23.633710',\n",
       "    'distance': '153.818',\n",
       "    'tel': [],\n",
       "    'type': '科教文化服务;学校;学校'},\n",
       "   {'id': 'B00141TQGR',\n",
       "    'direction': '西北',\n",
       "    'businessarea': [],\n",
       "    'address': '博学路7',\n",
       "    'poiweight': '0.148531',\n",
       "    'name': '中山大学南方学院教学楼7号',\n",
       "    'location': '113.678600,23.633330',\n",
       "    'distance': '109.298',\n",
       "    'tel': [],\n",
       "    'type': '科教文化服务;学校;高等院校'},\n",
       "   {'id': 'B00141WQCO',\n",
       "    'direction': '东北',\n",
       "    'businessarea': [],\n",
       "    'address': '博学路',\n",
       "    'poiweight': '0.14954',\n",
       "    'name': '中山大学南方学院教学楼8号',\n",
       "    'location': '113.680399,23.634329',\n",
       "    'distance': '225.543',\n",
       "    'tel': [],\n",
       "    'type': '科教文化服务;科教文化场所;科教文化场所'},\n",
       "   {'id': 'B0FFG9IORM',\n",
       "    'direction': '西北',\n",
       "    'businessarea': [],\n",
       "    'address': '温泉大道882号中山大学南方学院内',\n",
       "    'poiweight': '0.287887',\n",
       "    'name': '中山大学南方学院-图书馆',\n",
       "    'location': '113.679177,23.632762',\n",
       "    'distance': '23.6163',\n",
       "    'tel': '020-61787368;020-61787371',\n",
       "    'type': '科教文化服务;图书馆;图书馆'},\n",
       "   {'id': 'B0FFKP9EQJ',\n",
       "    'direction': '东',\n",
       "    'businessarea': [],\n",
       "    'address': '博学路附近',\n",
       "    'poiweight': '0.191742',\n",
       "    'name': '中山大学南方学院4号实验楼',\n",
       "    'location': '113.679963,23.632652',\n",
       "    'distance': '69.4077',\n",
       "    'tel': [],\n",
       "    'type': '科教文化服务;科教文化场所;科教文化场所'},\n",
       "   {'id': 'B0FFJKIA10',\n",
       "    'direction': '东北',\n",
       "    'businessarea': [],\n",
       "    'address': '温泉大道882号中山大学南方学院',\n",
       "    'poiweight': '0.191691',\n",
       "    'name': '中山大学南方学院-第11教学楼',\n",
       "    'location': '113.680037,23.633173',\n",
       "    'distance': '101.294',\n",
       "    'tel': [],\n",
       "    'type': '科教文化服务;科教文化场所;科教文化场所'},\n",
       "   {'id': 'B00141TRVH',\n",
       "    'direction': '西南',\n",
       "    'businessarea': [],\n",
       "    'address': '博学路21',\n",
       "    'poiweight': '0.148531',\n",
       "    'name': '中山大学南方学院教学楼2号',\n",
       "    'location': '113.677060,23.631346',\n",
       "    'distance': '264.846',\n",
       "    'tel': [],\n",
       "    'type': '科教文化服务;科教文化场所;科教文化场所'},\n",
       "   {'id': 'B0FFKERBQZ',\n",
       "    'direction': '西北',\n",
       "    'businessarea': [],\n",
       "    'address': '博学路7号附近',\n",
       "    'poiweight': '0.289141',\n",
       "    'name': '中山大学南方学院惟贤门',\n",
       "    'location': '113.678437,23.633721',\n",
       "    'distance': '154.082',\n",
       "    'tel': [],\n",
       "    'type': '科教文化服务;学校;高等院校'},\n",
       "   {'id': 'B0FFKP81F4',\n",
       "    'direction': '东北',\n",
       "    'businessarea': [],\n",
       "    'address': '中山路',\n",
       "    'poiweight': '0.191742',\n",
       "    'name': '政商研究院教学楼9号',\n",
       "    'location': '113.679949,23.633919',\n",
       "    'distance': '163.951',\n",
       "    'tel': [],\n",
       "    'type': '科教文化服务;科教文化场所;科教文化场所'},\n",
       "   {'id': 'B0FFKP9ET5',\n",
       "    'direction': '西南',\n",
       "    'businessarea': [],\n",
       "    'address': '博学路附近',\n",
       "    'poiweight': '0.191742',\n",
       "    'name': '中山大学南方学院1号实验楼',\n",
       "    'location': '113.678215,23.631370',\n",
       "    'distance': '172.86',\n",
       "    'tel': [],\n",
       "    'type': '科教文化服务;科教文化场所;科教文化场所'},\n",
       "   {'id': 'B00141TR76',\n",
       "    'direction': '西南',\n",
       "    'businessarea': [],\n",
       "    'address': '博学路29',\n",
       "    'poiweight': '0.052819',\n",
       "    'name': '中山大学南方学院教学楼4号',\n",
       "    'location': '113.677460,23.630490',\n",
       "    'distance': '297.315',\n",
       "    'tel': [],\n",
       "    'type': '科教文化服务;科教文化场所;科教文化场所'},\n",
       "   {'id': 'B0FFKP7Q5N',\n",
       "    'direction': '西南',\n",
       "    'businessarea': [],\n",
       "    'address': '博学路',\n",
       "    'poiweight': '0.191742',\n",
       "    'name': '中山大学南方学院2号实验楼',\n",
       "    'location': '113.678211,23.630956',\n",
       "    'distance': '210.76',\n",
       "    'tel': [],\n",
       "    'type': '科教文化服务;科教文化场所;科教文化场所'},\n",
       "   {'id': 'B00140TWHT',\n",
       "    'direction': '南',\n",
       "    'businessarea': [],\n",
       "    'address': '笃行路2号',\n",
       "    'poiweight': '0.157653',\n",
       "    'name': '教工住宅1号',\n",
       "    'location': '113.678490,23.630432',\n",
       "    'distance': '251.758',\n",
       "    'tel': [],\n",
       "    'type': '商务住宅;住宅区;住宅小区'},\n",
       "   {'id': 'B0G3ARGF5Y',\n",
       "    'direction': '西',\n",
       "    'businessarea': [],\n",
       "    'address': [],\n",
       "    'poiweight': '0.286321',\n",
       "    'name': '中山大学南方学院教学楼1号',\n",
       "    'location': '113.677077,23.631783',\n",
       "    'distance': '241.753',\n",
       "    'tel': [],\n",
       "    'type': '科教文化服务;学校;高等院校'},\n",
       "   {'id': 'B0FFLBEOND',\n",
       "    'direction': '东南',\n",
       "    'businessarea': [],\n",
       "    'address': '从莞深高速(中山大学南方学院)',\n",
       "    'poiweight': '0.190963',\n",
       "    'name': '聚贤楼10号',\n",
       "    'location': '113.681253,23.631036',\n",
       "    'distance': '263.444',\n",
       "    'tel': [],\n",
       "    'type': '商务住宅;住宅区;宿舍'},\n",
       "   {'id': 'B0FFKP81F0',\n",
       "    'direction': '西',\n",
       "    'businessarea': [],\n",
       "    'address': '博学路19号附近',\n",
       "    'poiweight': '0.191742',\n",
       "    'name': '教学楼1号(文学与传媒学院)',\n",
       "    'location': '113.676866,23.631736',\n",
       "    'distance': '263.674',\n",
       "    'tel': [],\n",
       "    'type': '科教文化服务;科教文化场所;科教文化场所'},\n",
       "   {'id': 'B0FFKP838K',\n",
       "    'direction': '西南',\n",
       "    'businessarea': [],\n",
       "    'address': '博学路25',\n",
       "    'poiweight': '0.191742',\n",
       "    'name': '教学楼3号(外国语学院)',\n",
       "    'location': '113.677247,23.630947',\n",
       "    'distance': '275.62',\n",
       "    'tel': [],\n",
       "    'type': '科教文化服务;科教文化场所;科教文化场所'},\n",
       "   {'id': 'B0FFJLW0O9',\n",
       "    'direction': '西',\n",
       "    'businessarea': [],\n",
       "    'address': '博学路4附近',\n",
       "    'poiweight': '0.191645',\n",
       "    'name': '中山大学南方学院西区饭堂',\n",
       "    'location': '113.676210,23.632177',\n",
       "    'distance': '316.572',\n",
       "    'tel': [],\n",
       "    'type': '科教文化服务;科教文化场所;科教文化场所'},\n",
       "   {'id': 'B0FFKPXMCN',\n",
       "    'direction': '北',\n",
       "    'businessarea': [],\n",
       "    'address': '中山路',\n",
       "    'poiweight': '0.191739',\n",
       "    'name': '中山大学南方学院音乐系',\n",
       "    'location': '113.678792,23.635389',\n",
       "    'distance': '316.942',\n",
       "    'tel': [],\n",
       "    'type': '科教文化服务;科教文化场所;科教文化场所'},\n",
       "   {'id': 'B0FFJBZLYT',\n",
       "    'direction': '西北',\n",
       "    'businessarea': [],\n",
       "    'address': '中山路与博学路交叉口东南50米',\n",
       "    'poiweight': '0.297382',\n",
       "    'name': '铜像广场',\n",
       "    'location': '113.676921,23.634555',\n",
       "    'distance': '326.444',\n",
       "    'tel': [],\n",
       "    'type': '风景名胜;风景名胜;风景名胜'},\n",
       "   {'id': 'B0FFG8CSEK',\n",
       "    'direction': '东',\n",
       "    'businessarea': [],\n",
       "    'address': '从莞深高速(中山大学南方学院)',\n",
       "    'poiweight': '0.185371',\n",
       "    'name': 'L5员工宿舍',\n",
       "    'location': '113.682583,23.631487',\n",
       "    'distance': '356.923',\n",
       "    'tel': [],\n",
       "    'type': '商务住宅;住宅区;宿舍'},\n",
       "   {'id': 'B0FFKPXO2S',\n",
       "    'direction': '北',\n",
       "    'businessarea': [],\n",
       "    'address': '博学路附近',\n",
       "    'poiweight': '0.188247',\n",
       "    'name': '中山大学南方学院医务室',\n",
       "    'location': '113.679394,23.635924',\n",
       "    'distance': '372.556',\n",
       "    'tel': [],\n",
       "    'type': '医疗保健服务;医疗保健服务场所;医疗保健服务场所'},\n",
       "   {'id': 'B0FFH6K3U9',\n",
       "    'direction': '西南',\n",
       "    'businessarea': [],\n",
       "    'address': '温泉镇温泉大道882号中大南方H7栋1-5层',\n",
       "    'poiweight': '0.254885',\n",
       "    'name': '广州中大南方招待所',\n",
       "    'location': '113.676330,23.631332',\n",
       "    'distance': '331.438',\n",
       "    'tel': '020-61787222',\n",
       "    'type': '住宿服务;住宿服务相关;住宿服务相关'},\n",
       "   {'id': 'B0FFHHLMF8',\n",
       "    'direction': '东北',\n",
       "    'businessarea': [],\n",
       "    'address': '中山大学南方学院明辩路2号第三饭堂',\n",
       "    'poiweight': '0.178935',\n",
       "    'name': '茗语轩餐厅',\n",
       "    'location': '113.681901,23.634495',\n",
       "    'distance': '341.332',\n",
       "    'tel': '13929501395;13533390928',\n",
       "    'type': '餐饮服务;中餐厅;中餐厅'},\n",
       "   {'id': 'B0FFLJV996',\n",
       "    'direction': '东南',\n",
       "    'businessarea': [],\n",
       "    'address': [],\n",
       "    'poiweight': '0.286264',\n",
       "    'name': '保利桃花源66BLOCK',\n",
       "    'location': '113.682954,23.631008',\n",
       "    'distance': '412.208',\n",
       "    'tel': [],\n",
       "    'type': '商务住宅;住宅区;住宅小区'},\n",
       "   {'id': 'B0FFKPXY26',\n",
       "    'direction': '北',\n",
       "    'businessarea': [],\n",
       "    'address': '从莞深高速公路',\n",
       "    'poiweight': '0.21826',\n",
       "    'name': '中山大学南方学院聚贤楼5号',\n",
       "    'location': '113.680265,23.636313',\n",
       "    'distance': '427.447',\n",
       "    'tel': [],\n",
       "    'type': '商务住宅;商务住宅相关;商务住宅相关'},\n",
       "   {'id': 'B0FFGXGN3K',\n",
       "    'direction': '东',\n",
       "    'businessarea': [],\n",
       "    'address': '中山大学南方学院',\n",
       "    'poiweight': '0.188657',\n",
       "    'name': '中山大学南方学院宿舍H25',\n",
       "    'location': '113.683474,23.632020',\n",
       "    'distance': '430.984',\n",
       "    'tel': [],\n",
       "    'type': '商务住宅;住宅区;宿舍'}]},\n",
       " 'info': 'OK',\n",
       " 'infocode': '10000'}"
      ]
     },
     "execution_count": 262,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "r.json()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 263,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>direction</th>\n",
       "      <th>businessarea</th>\n",
       "      <th>address</th>\n",
       "      <th>poiweight</th>\n",
       "      <th>name</th>\n",
       "      <th>location</th>\n",
       "      <th>distance</th>\n",
       "      <th>tel</th>\n",
       "      <th>type</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>B00140MR9A</td>\n",
       "      <td>西</td>\n",
       "      <td>[]</td>\n",
       "      <td>温泉大道882号</td>\n",
       "      <td>0.450402</td>\n",
       "      <td>中山大学南方学院</td>\n",
       "      <td>113.679262,23.632583</td>\n",
       "      <td>2.69979</td>\n",
       "      <td>020-61787331</td>\n",
       "      <td>科教文化服务;学校;高等院校</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>B0FFF2VMJ4</td>\n",
       "      <td>东南</td>\n",
       "      <td>[]</td>\n",
       "      <td>温泉大道886号中山大学南方学院内</td>\n",
       "      <td>0.148531</td>\n",
       "      <td>中山大学南方学院-综合楼</td>\n",
       "      <td>113.680117,23.631544</td>\n",
       "      <td>142.466</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;学校;学校</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>B0FFFTC9PH</td>\n",
       "      <td>东北</td>\n",
       "      <td>[]</td>\n",
       "      <td>从莞深高速(中山大学南方学院)</td>\n",
       "      <td>0.193172</td>\n",
       "      <td>中山大学南方学院教学楼10号</td>\n",
       "      <td>113.680125,23.633492</td>\n",
       "      <td>132.988</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;科教文化场所;科教文化场所</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>B00141TQKX</td>\n",
       "      <td>西北</td>\n",
       "      <td>[]</td>\n",
       "      <td>温泉大道882</td>\n",
       "      <td>0.148531</td>\n",
       "      <td>中山大学南方学院教学楼6号</td>\n",
       "      <td>113.678424,23.633710</td>\n",
       "      <td>153.818</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;学校;学校</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>B00141TQGR</td>\n",
       "      <td>西北</td>\n",
       "      <td>[]</td>\n",
       "      <td>博学路7</td>\n",
       "      <td>0.148531</td>\n",
       "      <td>中山大学南方学院教学楼7号</td>\n",
       "      <td>113.678600,23.633330</td>\n",
       "      <td>109.298</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;学校;高等院校</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>B00141WQCO</td>\n",
       "      <td>东北</td>\n",
       "      <td>[]</td>\n",
       "      <td>博学路</td>\n",
       "      <td>0.14954</td>\n",
       "      <td>中山大学南方学院教学楼8号</td>\n",
       "      <td>113.680399,23.634329</td>\n",
       "      <td>225.543</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;科教文化场所;科教文化场所</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>B0FFG9IORM</td>\n",
       "      <td>西北</td>\n",
       "      <td>[]</td>\n",
       "      <td>温泉大道882号中山大学南方学院内</td>\n",
       "      <td>0.287887</td>\n",
       "      <td>中山大学南方学院-图书馆</td>\n",
       "      <td>113.679177,23.632762</td>\n",
       "      <td>23.6163</td>\n",
       "      <td>020-61787368;020-61787371</td>\n",
       "      <td>科教文化服务;图书馆;图书馆</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>B0FFKP9EQJ</td>\n",
       "      <td>东</td>\n",
       "      <td>[]</td>\n",
       "      <td>博学路附近</td>\n",
       "      <td>0.191742</td>\n",
       "      <td>中山大学南方学院4号实验楼</td>\n",
       "      <td>113.679963,23.632652</td>\n",
       "      <td>69.4077</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;科教文化场所;科教文化场所</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>B0FFJKIA10</td>\n",
       "      <td>东北</td>\n",
       "      <td>[]</td>\n",
       "      <td>温泉大道882号中山大学南方学院</td>\n",
       "      <td>0.191691</td>\n",
       "      <td>中山大学南方学院-第11教学楼</td>\n",
       "      <td>113.680037,23.633173</td>\n",
       "      <td>101.294</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;科教文化场所;科教文化场所</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>B00141TRVH</td>\n",
       "      <td>西南</td>\n",
       "      <td>[]</td>\n",
       "      <td>博学路21</td>\n",
       "      <td>0.148531</td>\n",
       "      <td>中山大学南方学院教学楼2号</td>\n",
       "      <td>113.677060,23.631346</td>\n",
       "      <td>264.846</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;科教文化场所;科教文化场所</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>B0FFKERBQZ</td>\n",
       "      <td>西北</td>\n",
       "      <td>[]</td>\n",
       "      <td>博学路7号附近</td>\n",
       "      <td>0.289141</td>\n",
       "      <td>中山大学南方学院惟贤门</td>\n",
       "      <td>113.678437,23.633721</td>\n",
       "      <td>154.082</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;学校;高等院校</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>B0FFKP81F4</td>\n",
       "      <td>东北</td>\n",
       "      <td>[]</td>\n",
       "      <td>中山路</td>\n",
       "      <td>0.191742</td>\n",
       "      <td>政商研究院教学楼9号</td>\n",
       "      <td>113.679949,23.633919</td>\n",
       "      <td>163.951</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;科教文化场所;科教文化场所</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>B0FFKP9ET5</td>\n",
       "      <td>西南</td>\n",
       "      <td>[]</td>\n",
       "      <td>博学路附近</td>\n",
       "      <td>0.191742</td>\n",
       "      <td>中山大学南方学院1号实验楼</td>\n",
       "      <td>113.678215,23.631370</td>\n",
       "      <td>172.86</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;科教文化场所;科教文化场所</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>B00141TR76</td>\n",
       "      <td>西南</td>\n",
       "      <td>[]</td>\n",
       "      <td>博学路29</td>\n",
       "      <td>0.052819</td>\n",
       "      <td>中山大学南方学院教学楼4号</td>\n",
       "      <td>113.677460,23.630490</td>\n",
       "      <td>297.315</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;科教文化场所;科教文化场所</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>B0FFKP7Q5N</td>\n",
       "      <td>西南</td>\n",
       "      <td>[]</td>\n",
       "      <td>博学路</td>\n",
       "      <td>0.191742</td>\n",
       "      <td>中山大学南方学院2号实验楼</td>\n",
       "      <td>113.678211,23.630956</td>\n",
       "      <td>210.76</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;科教文化场所;科教文化场所</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>B00140TWHT</td>\n",
       "      <td>南</td>\n",
       "      <td>[]</td>\n",
       "      <td>笃行路2号</td>\n",
       "      <td>0.157653</td>\n",
       "      <td>教工住宅1号</td>\n",
       "      <td>113.678490,23.630432</td>\n",
       "      <td>251.758</td>\n",
       "      <td>[]</td>\n",
       "      <td>商务住宅;住宅区;住宅小区</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>B0G3ARGF5Y</td>\n",
       "      <td>西</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0.286321</td>\n",
       "      <td>中山大学南方学院教学楼1号</td>\n",
       "      <td>113.677077,23.631783</td>\n",
       "      <td>241.753</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;学校;高等院校</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>B0FFLBEOND</td>\n",
       "      <td>东南</td>\n",
       "      <td>[]</td>\n",
       "      <td>从莞深高速(中山大学南方学院)</td>\n",
       "      <td>0.190963</td>\n",
       "      <td>聚贤楼10号</td>\n",
       "      <td>113.681253,23.631036</td>\n",
       "      <td>263.444</td>\n",
       "      <td>[]</td>\n",
       "      <td>商务住宅;住宅区;宿舍</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>B0FFKP81F0</td>\n",
       "      <td>西</td>\n",
       "      <td>[]</td>\n",
       "      <td>博学路19号附近</td>\n",
       "      <td>0.191742</td>\n",
       "      <td>教学楼1号(文学与传媒学院)</td>\n",
       "      <td>113.676866,23.631736</td>\n",
       "      <td>263.674</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;科教文化场所;科教文化场所</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>B0FFKP838K</td>\n",
       "      <td>西南</td>\n",
       "      <td>[]</td>\n",
       "      <td>博学路25</td>\n",
       "      <td>0.191742</td>\n",
       "      <td>教学楼3号(外国语学院)</td>\n",
       "      <td>113.677247,23.630947</td>\n",
       "      <td>275.62</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;科教文化场所;科教文化场所</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>B0FFJLW0O9</td>\n",
       "      <td>西</td>\n",
       "      <td>[]</td>\n",
       "      <td>博学路4附近</td>\n",
       "      <td>0.191645</td>\n",
       "      <td>中山大学南方学院西区饭堂</td>\n",
       "      <td>113.676210,23.632177</td>\n",
       "      <td>316.572</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;科教文化场所;科教文化场所</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>B0FFKPXMCN</td>\n",
       "      <td>北</td>\n",
       "      <td>[]</td>\n",
       "      <td>中山路</td>\n",
       "      <td>0.191739</td>\n",
       "      <td>中山大学南方学院音乐系</td>\n",
       "      <td>113.678792,23.635389</td>\n",
       "      <td>316.942</td>\n",
       "      <td>[]</td>\n",
       "      <td>科教文化服务;科教文化场所;科教文化场所</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>B0FFJBZLYT</td>\n",
       "      <td>西北</td>\n",
       "      <td>[]</td>\n",
       "      <td>中山路与博学路交叉口东南50米</td>\n",
       "      <td>0.297382</td>\n",
       "      <td>铜像广场</td>\n",
       "      <td>113.676921,23.634555</td>\n",
       "      <td>326.444</td>\n",
       "      <td>[]</td>\n",
       "      <td>风景名胜;风景名胜;风景名胜</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>B0FFG8CSEK</td>\n",
       "      <td>东</td>\n",
       "      <td>[]</td>\n",
       "      <td>从莞深高速(中山大学南方学院)</td>\n",
       "      <td>0.185371</td>\n",
       "      <td>L5员工宿舍</td>\n",
       "      <td>113.682583,23.631487</td>\n",
       "      <td>356.923</td>\n",
       "      <td>[]</td>\n",
       "      <td>商务住宅;住宅区;宿舍</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>B0FFKPXO2S</td>\n",
       "      <td>北</td>\n",
       "      <td>[]</td>\n",
       "      <td>博学路附近</td>\n",
       "      <td>0.188247</td>\n",
       "      <td>中山大学南方学院医务室</td>\n",
       "      <td>113.679394,23.635924</td>\n",
       "      <td>372.556</td>\n",
       "      <td>[]</td>\n",
       "      <td>医疗保健服务;医疗保健服务场所;医疗保健服务场所</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>B0FFH6K3U9</td>\n",
       "      <td>西南</td>\n",
       "      <td>[]</td>\n",
       "      <td>温泉镇温泉大道882号中大南方H7栋1-5层</td>\n",
       "      <td>0.254885</td>\n",
       "      <td>广州中大南方招待所</td>\n",
       "      <td>113.676330,23.631332</td>\n",
       "      <td>331.438</td>\n",
       "      <td>020-61787222</td>\n",
       "      <td>住宿服务;住宿服务相关;住宿服务相关</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>B0FFHHLMF8</td>\n",
       "      <td>东北</td>\n",
       "      <td>[]</td>\n",
       "      <td>中山大学南方学院明辩路2号第三饭堂</td>\n",
       "      <td>0.178935</td>\n",
       "      <td>茗语轩餐厅</td>\n",
       "      <td>113.681901,23.634495</td>\n",
       "      <td>341.332</td>\n",
       "      <td>13929501395;13533390928</td>\n",
       "      <td>餐饮服务;中餐厅;中餐厅</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>B0FFLJV996</td>\n",
       "      <td>东南</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0.286264</td>\n",
       "      <td>保利桃花源66BLOCK</td>\n",
       "      <td>113.682954,23.631008</td>\n",
       "      <td>412.208</td>\n",
       "      <td>[]</td>\n",
       "      <td>商务住宅;住宅区;住宅小区</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>B0FFKPXY26</td>\n",
       "      <td>北</td>\n",
       "      <td>[]</td>\n",
       "      <td>从莞深高速公路</td>\n",
       "      <td>0.21826</td>\n",
       "      <td>中山大学南方学院聚贤楼5号</td>\n",
       "      <td>113.680265,23.636313</td>\n",
       "      <td>427.447</td>\n",
       "      <td>[]</td>\n",
       "      <td>商务住宅;商务住宅相关;商务住宅相关</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>B0FFGXGN3K</td>\n",
       "      <td>东</td>\n",
       "      <td>[]</td>\n",
       "      <td>中山大学南方学院</td>\n",
       "      <td>0.188657</td>\n",
       "      <td>中山大学南方学院宿舍H25</td>\n",
       "      <td>113.683474,23.632020</td>\n",
       "      <td>430.984</td>\n",
       "      <td>[]</td>\n",
       "      <td>商务住宅;住宅区;宿舍</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            id direction businessarea                 address poiweight  \\\n",
       "0   B00140MR9A         西           []                温泉大道882号  0.450402   \n",
       "1   B0FFF2VMJ4        东南           []       温泉大道886号中山大学南方学院内  0.148531   \n",
       "2   B0FFFTC9PH        东北           []         从莞深高速(中山大学南方学院)  0.193172   \n",
       "3   B00141TQKX        西北           []                 温泉大道882  0.148531   \n",
       "4   B00141TQGR        西北           []                    博学路7  0.148531   \n",
       "5   B00141WQCO        东北           []                     博学路   0.14954   \n",
       "6   B0FFG9IORM        西北           []       温泉大道882号中山大学南方学院内  0.287887   \n",
       "7   B0FFKP9EQJ         东           []                   博学路附近  0.191742   \n",
       "8   B0FFJKIA10        东北           []        温泉大道882号中山大学南方学院  0.191691   \n",
       "9   B00141TRVH        西南           []                   博学路21  0.148531   \n",
       "10  B0FFKERBQZ        西北           []                 博学路7号附近  0.289141   \n",
       "11  B0FFKP81F4        东北           []                     中山路  0.191742   \n",
       "12  B0FFKP9ET5        西南           []                   博学路附近  0.191742   \n",
       "13  B00141TR76        西南           []                   博学路29  0.052819   \n",
       "14  B0FFKP7Q5N        西南           []                     博学路  0.191742   \n",
       "15  B00140TWHT         南           []                   笃行路2号  0.157653   \n",
       "16  B0G3ARGF5Y         西           []                      []  0.286321   \n",
       "17  B0FFLBEOND        东南           []         从莞深高速(中山大学南方学院)  0.190963   \n",
       "18  B0FFKP81F0         西           []                博学路19号附近  0.191742   \n",
       "19  B0FFKP838K        西南           []                   博学路25  0.191742   \n",
       "20  B0FFJLW0O9         西           []                  博学路4附近  0.191645   \n",
       "21  B0FFKPXMCN         北           []                     中山路  0.191739   \n",
       "22  B0FFJBZLYT        西北           []         中山路与博学路交叉口东南50米  0.297382   \n",
       "23  B0FFG8CSEK         东           []         从莞深高速(中山大学南方学院)  0.185371   \n",
       "24  B0FFKPXO2S         北           []                   博学路附近  0.188247   \n",
       "25  B0FFH6K3U9        西南           []  温泉镇温泉大道882号中大南方H7栋1-5层  0.254885   \n",
       "26  B0FFHHLMF8        东北           []       中山大学南方学院明辩路2号第三饭堂  0.178935   \n",
       "27  B0FFLJV996        东南           []                      []  0.286264   \n",
       "28  B0FFKPXY26         北           []                 从莞深高速公路   0.21826   \n",
       "29  B0FFGXGN3K         东           []                中山大学南方学院  0.188657   \n",
       "\n",
       "               name              location distance                        tel  \\\n",
       "0          中山大学南方学院  113.679262,23.632583  2.69979               020-61787331   \n",
       "1      中山大学南方学院-综合楼  113.680117,23.631544  142.466                         []   \n",
       "2    中山大学南方学院教学楼10号  113.680125,23.633492  132.988                         []   \n",
       "3     中山大学南方学院教学楼6号  113.678424,23.633710  153.818                         []   \n",
       "4     中山大学南方学院教学楼7号  113.678600,23.633330  109.298                         []   \n",
       "5     中山大学南方学院教学楼8号  113.680399,23.634329  225.543                         []   \n",
       "6      中山大学南方学院-图书馆  113.679177,23.632762  23.6163  020-61787368;020-61787371   \n",
       "7     中山大学南方学院4号实验楼  113.679963,23.632652  69.4077                         []   \n",
       "8   中山大学南方学院-第11教学楼  113.680037,23.633173  101.294                         []   \n",
       "9     中山大学南方学院教学楼2号  113.677060,23.631346  264.846                         []   \n",
       "10      中山大学南方学院惟贤门  113.678437,23.633721  154.082                         []   \n",
       "11       政商研究院教学楼9号  113.679949,23.633919  163.951                         []   \n",
       "12    中山大学南方学院1号实验楼  113.678215,23.631370   172.86                         []   \n",
       "13    中山大学南方学院教学楼4号  113.677460,23.630490  297.315                         []   \n",
       "14    中山大学南方学院2号实验楼  113.678211,23.630956   210.76                         []   \n",
       "15           教工住宅1号  113.678490,23.630432  251.758                         []   \n",
       "16    中山大学南方学院教学楼1号  113.677077,23.631783  241.753                         []   \n",
       "17           聚贤楼10号  113.681253,23.631036  263.444                         []   \n",
       "18   教学楼1号(文学与传媒学院)  113.676866,23.631736  263.674                         []   \n",
       "19     教学楼3号(外国语学院)  113.677247,23.630947   275.62                         []   \n",
       "20     中山大学南方学院西区饭堂  113.676210,23.632177  316.572                         []   \n",
       "21      中山大学南方学院音乐系  113.678792,23.635389  316.942                         []   \n",
       "22             铜像广场  113.676921,23.634555  326.444                         []   \n",
       "23           L5员工宿舍  113.682583,23.631487  356.923                         []   \n",
       "24      中山大学南方学院医务室  113.679394,23.635924  372.556                         []   \n",
       "25        广州中大南方招待所  113.676330,23.631332  331.438               020-61787222   \n",
       "26            茗语轩餐厅  113.681901,23.634495  341.332    13929501395;13533390928   \n",
       "27     保利桃花源66BLOCK  113.682954,23.631008  412.208                         []   \n",
       "28    中山大学南方学院聚贤楼5号  113.680265,23.636313  427.447                         []   \n",
       "29    中山大学南方学院宿舍H25  113.683474,23.632020  430.984                         []   \n",
       "\n",
       "                        type  \n",
       "0             科教文化服务;学校;高等院校  \n",
       "1               科教文化服务;学校;学校  \n",
       "2       科教文化服务;科教文化场所;科教文化场所  \n",
       "3               科教文化服务;学校;学校  \n",
       "4             科教文化服务;学校;高等院校  \n",
       "5       科教文化服务;科教文化场所;科教文化场所  \n",
       "6             科教文化服务;图书馆;图书馆  \n",
       "7       科教文化服务;科教文化场所;科教文化场所  \n",
       "8       科教文化服务;科教文化场所;科教文化场所  \n",
       "9       科教文化服务;科教文化场所;科教文化场所  \n",
       "10            科教文化服务;学校;高等院校  \n",
       "11      科教文化服务;科教文化场所;科教文化场所  \n",
       "12      科教文化服务;科教文化场所;科教文化场所  \n",
       "13      科教文化服务;科教文化场所;科教文化场所  \n",
       "14      科教文化服务;科教文化场所;科教文化场所  \n",
       "15             商务住宅;住宅区;住宅小区  \n",
       "16            科教文化服务;学校;高等院校  \n",
       "17               商务住宅;住宅区;宿舍  \n",
       "18      科教文化服务;科教文化场所;科教文化场所  \n",
       "19      科教文化服务;科教文化场所;科教文化场所  \n",
       "20      科教文化服务;科教文化场所;科教文化场所  \n",
       "21      科教文化服务;科教文化场所;科教文化场所  \n",
       "22            风景名胜;风景名胜;风景名胜  \n",
       "23               商务住宅;住宅区;宿舍  \n",
       "24  医疗保健服务;医疗保健服务场所;医疗保健服务场所  \n",
       "25        住宿服务;住宿服务相关;住宿服务相关  \n",
       "26              餐饮服务;中餐厅;中餐厅  \n",
       "27             商务住宅;住宅区;住宅小区  \n",
       "28        商务住宅;商务住宅相关;商务住宅相关  \n",
       "29               商务住宅;住宅区;宿舍  "
      ]
     },
     "execution_count": 263,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pd.json_normalize(r.json()['regeocode']['pois'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 路径规划\n",
    "\n",
    "> * 1、步行\n",
    "> * 2、公交车\n",
    "> * 3、驾车\n",
    "> * 4、适用场景：\n",
    " >> * 无需展现地图的场景下，进行线路查询，如以线路结果页形式展现换乘方案；\n",
    " >> * 根据返回线路数据，自行开发线路导航。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 步行 \n",
    "\n",
    "> * 1、url:https://restapi.amap.com/v3/direction/walking?parameters    \n",
    "> * 2、requests.get()\n",
    "> * 3、参数：\n",
    "\n",
    ">> * A.必选：key，origin（出发点（经度，纬度））,destination（目的地（经度，纬度））\n",
    ">> * B.可选：sig（数字签名），output（返回数据格式类型，缺省值：JSON），callback（回调函数）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 265,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 数据准备： \n",
    "origin = \"广东省广州市中山大学南方学院\"\n",
    "destination = \"广州市从化区龙岗\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 266,
   "metadata": {},
   "outputs": [],
   "source": [
    "def geo(key,address,city=None,batch=\"false\",sig=None,output=\"JSON\",callback=None):\n",
    "    \"\"\"获取高德API的地理编码\n",
    "    注释：key是指高德API的秘钥，请先去注册\n",
    "          address是指结构化地址，具体请查看：https://lbs.amap.com/api/webservice/guide/api/georegeo   \n",
    "    \"\"\"\n",
    "    url = \"https://restapi.amap.com/v3/geocode/geo?parameters\"\n",
    "    params = {\n",
    "    \"key\":huang_key,\n",
    "    \"address\":address,\n",
    "    \"city\":city,\n",
    "    \"batch\":batch,\n",
    "    \"sig\":sig,\n",
    "    \"output\":output,\n",
    "    \"callback\":callback\n",
    "    }\n",
    "    \n",
    "    response = requests.get(url,params=params)\n",
    "    results = r.json()\n",
    "    return results"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 267,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'status': '1',\n",
       " 'info': 'OK',\n",
       " 'infocode': '10000',\n",
       " 'count': '1',\n",
       " 'geocodes': [{'formatted_address': '广东省广州市从化区中山大学南方学院',\n",
       "   'country': '中国',\n",
       "   'province': '广东省',\n",
       "   'citycode': '020',\n",
       "   'city': '广州市',\n",
       "   'district': '从化区',\n",
       "   'township': [],\n",
       "   'neighborhood': {'name': [], 'type': []},\n",
       "   'building': {'name': [], 'type': []},\n",
       "   'adcode': '440117',\n",
       "   'street': [],\n",
       "   'number': [],\n",
       "   'location': '113.679287,23.632575',\n",
       "   'level': '兴趣点'}]}"
      ]
     },
     "execution_count": 267,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "起始点_中大南方 = geocode(huang_key,origin)\n",
    "起始点_中大南方"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 268,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'status': '1',\n",
       " 'info': 'OK',\n",
       " 'infocode': '10000',\n",
       " 'count': '1',\n",
       " 'geocodes': [{'formatted_address': '广东省广州市从化区龙岗',\n",
       "   'country': '中国',\n",
       "   'province': '广东省',\n",
       "   'citycode': '020',\n",
       "   'city': '广州市',\n",
       "   'district': '从化区',\n",
       "   'township': [],\n",
       "   'neighborhood': {'name': [], 'type': []},\n",
       "   'building': {'name': [], 'type': []},\n",
       "   'adcode': '440117',\n",
       "   'street': [],\n",
       "   'number': [],\n",
       "   'location': '113.668051,23.600869',\n",
       "   'level': '热点商圈'}]}"
      ]
     },
     "execution_count": 268,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "目的地_龙岗 = geocode(huang_key,destination)\n",
    "目的地_龙岗"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 269,
   "metadata": {},
   "outputs": [],
   "source": [
    "origin = \"113.679287,23.632575\"\n",
    "destination = \"113.668051,23.600869\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 270,
   "metadata": {},
   "outputs": [],
   "source": [
    "def walking(key,origin,destination,sig=None,output=\"JSON\",callback=None):\n",
    "    \"\"\"获取高德API的地理编码\n",
    "    注释：key是指高德API的秘钥，请先去注册\n",
    "          origin和destination是指出发点和目的地，具体请查看：https://lbs.amap.com/api/webservice/guide/api/direction   \n",
    "    \"\"\"\n",
    "    url = \"https://restapi.amap.com/v3/direction/walking?parameters\"\n",
    "    params = {\n",
    "        \"key\":key,\n",
    "        \"origin\":origin,\n",
    "        \"destination\":destination,\n",
    "        \"sig\":sig,\n",
    "        \"output\":output,\n",
    "        \"callback\":callback\n",
    "    }\n",
    "    \n",
    "    response = requests.get(url,params=params)\n",
    "    results = response.json()\n",
    "    return results"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 271,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'status': '1',\n",
       " 'info': 'ok',\n",
       " 'infocode': '10000',\n",
       " 'count': '1',\n",
       " 'route': {'origin': '113.679287,23.632575',\n",
       "  'destination': '113.668051,23.600869',\n",
       "  'paths': [{'distance': '4957',\n",
       "    'duration': '3966',\n",
       "    'steps': [{'instruction': '向东步行101米右转',\n",
       "      'orientation': '东',\n",
       "      'road': [],\n",
       "      'distance': '101',\n",
       "      'duration': '81',\n",
       "      'polyline': '113.679592,23.632491;113.680586,23.632522',\n",
       "      'action': '右转',\n",
       "      'assistant_action': [],\n",
       "      'walk_type': '0'},\n",
       "     {'instruction': '向南步行199米向右前方行走',\n",
       "      'orientation': '南',\n",
       "      'road': [],\n",
       "      'distance': '199',\n",
       "      'duration': '159',\n",
       "      'polyline': '113.680586,23.632522;113.680638,23.63214;113.680668,23.63174;113.680634,23.631541;113.68059,23.631437;113.68059,23.631437;113.680499,23.631241;113.680408,23.631094;113.680208,23.630842',\n",
       "      'action': '向右前方行走',\n",
       "      'assistant_action': [],\n",
       "      'walk_type': '0'},\n",
       "     {'instruction': '向西步行159米左转',\n",
       "      'orientation': '西',\n",
       "      'road': [],\n",
       "      'distance': '159',\n",
       "      'duration': '127',\n",
       "      'polyline': '113.680204,23.630838;113.680035,23.630773;113.680035,23.630773;113.679644,23.630638;113.679644,23.630638;113.679362,23.630521;113.679201,23.630473;113.679201,23.630473;113.679032,23.63043;113.679032,23.63043;113.67888,23.630404;113.67888,23.630404;113.678711,23.630365',\n",
       "      'action': '左转',\n",
       "      'assistant_action': [],\n",
       "      'walk_type': '0'},\n",
       "     {'instruction': '向南步行237米左转',\n",
       "      'orientation': '南',\n",
       "      'road': [],\n",
       "      'distance': '237',\n",
       "      'duration': '190',\n",
       "      'polyline': '113.678711,23.63036;113.678711,23.62934;113.678711,23.62934;113.678711,23.629193;113.678689,23.629084;113.678637,23.629023;113.678424,23.628902;113.678368,23.628841;113.678316,23.628724;113.678294,23.628611;113.678294,23.628611;113.678277,23.628372',\n",
       "      'action': '左转',\n",
       "      'assistant_action': [],\n",
       "      'walk_type': '0'},\n",
       "     {'instruction': '向南步行498米向右前方行走',\n",
       "      'orientation': '南',\n",
       "      'road': [],\n",
       "      'distance': '498',\n",
       "      'duration': '398',\n",
       "      'polyline': '113.678273,23.628368;113.678572,23.628338;113.678685,23.628307;113.678685,23.628307;113.678845,23.628234;113.679045,23.628073;113.679158,23.627964;113.679158,23.627964;113.679214,23.627869;113.679236,23.627778;113.67928,23.627526;113.679288,23.627322;113.679288,23.627322;113.679253,23.626853;113.679184,23.626623;113.679141,23.626497;113.679002,23.626259;113.678941,23.626176;113.678711,23.625977;113.67862,23.625864;113.678529,23.62572;113.678438,23.625191;113.678429,23.625056;113.678451,23.624939;113.678572,23.624657',\n",
       "      'action': '向右前方行走',\n",
       "      'assistant_action': [],\n",
       "      'walk_type': '0'},\n",
       "     {'instruction': '向西南步行722米左转',\n",
       "      'orientation': '西南',\n",
       "      'road': [],\n",
       "      'distance': '722',\n",
       "      'duration': '578',\n",
       "      'polyline': '113.678572,23.624653;113.678559,23.62451;113.678416,23.624323;113.678416,23.624323;113.677582,23.623793;113.676532,23.623346;113.676363,23.623255;113.676272,23.623151;113.676111,23.622834;113.676042,23.622739;113.67579,23.622483;113.675499,23.622279;113.675417,23.622174;113.675386,23.622088;113.675378,23.621836;113.675378,23.621836;113.675391,23.62161;113.675434,23.621476;113.675543,23.621359;113.675764,23.621181;113.675846,23.621089;113.675903,23.620994;113.675907,23.620855;113.675877,23.620725;113.675747,23.620547;113.675599,23.620373;113.675243,23.620013',\n",
       "      'action': '左转',\n",
       "      'assistant_action': [],\n",
       "      'walk_type': '0'},\n",
       "     {'instruction': '向东南步行412米向右前方行走',\n",
       "      'orientation': '东南',\n",
       "      'road': [],\n",
       "      'distance': '412',\n",
       "      'duration': '330',\n",
       "      'polyline': '113.675239,23.620009;113.67549,23.620013;113.675642,23.619991;113.675773,23.619948;113.676016,23.619796;113.676901,23.619193;113.677261,23.618785;113.678069,23.61783;113.678069,23.61783;113.678181,23.617656',\n",
       "      'action': '向右前方行走',\n",
       "      'assistant_action': [],\n",
       "      'walk_type': '0'},\n",
       "     {'instruction': '沿乌土街向南步行1381米右转',\n",
       "      'orientation': '南',\n",
       "      'road': '乌土街',\n",
       "      'distance': '1381',\n",
       "      'duration': '1105',\n",
       "      'polyline': '113.678181,23.617652;113.678095,23.617205;113.678051,23.617075;113.677973,23.616923;113.677743,23.616558;113.677609,23.616289;113.677391,23.615816;113.677339,23.615668;113.67714,23.614826;113.677049,23.614323;113.676927,23.613359;113.676845,23.612786;113.676602,23.611489;113.676415,23.610438;113.676411,23.610265;113.676411,23.610265;113.676489,23.609848;113.676502,23.609622;113.676493,23.609236;113.676415,23.608746;113.676415,23.608485;113.67648,23.60819;113.67661,23.607734;113.676819,23.606736;113.676862,23.606541;113.676914,23.606415;113.677014,23.606254;113.677535,23.605673',\n",
       "      'action': '右转',\n",
       "      'assistant_action': [],\n",
       "      'walk_type': '0'},\n",
       "     {'instruction': '沿乌土街向西南步行165米直行',\n",
       "      'orientation': '西南',\n",
       "      'road': '乌土街',\n",
       "      'distance': '165',\n",
       "      'duration': '132',\n",
       "      'polyline': '113.677535,23.605668;113.676988,23.605373;113.676402,23.605;113.676163,23.604887',\n",
       "      'action': '直行',\n",
       "      'assistant_action': [],\n",
       "      'walk_type': '0'},\n",
       "     {'instruction': '沿934县道向西步行118米直行',\n",
       "      'orientation': '西',\n",
       "      'road': '934县道',\n",
       "      'distance': '118',\n",
       "      'duration': '94',\n",
       "      'polyline': '113.676159,23.604883;113.675799,23.604805;113.675508,23.604779;113.675508,23.604779;113.675013,23.60474',\n",
       "      'action': '直行',\n",
       "      'assistant_action': [],\n",
       "      'walk_type': '0'},\n",
       "     {'instruction': '沿桃园东路向西南步行674米向右前方行走',\n",
       "      'orientation': '西南',\n",
       "      'road': '桃园东路',\n",
       "      'distance': '674',\n",
       "      'duration': '539',\n",
       "      'polyline': '113.675009,23.604735;113.674236,23.604683;113.673893,23.604618;113.673464,23.604492;113.673464,23.604492;113.67168,23.604006;113.671541,23.603958;113.671411,23.603854;113.671068,23.603472;113.670807,23.603264;113.670807,23.603264;113.670525,23.603073;113.6702,23.602904;113.6702,23.602904;113.670022,23.602795;113.670022,23.602795;113.669909,23.602682;113.669818,23.602517;113.669787,23.602413;113.669718,23.601901',\n",
       "      'action': '向右前方行走',\n",
       "      'assistant_action': [],\n",
       "      'walk_type': '0'},\n",
       "     {'instruction': '沿桃园东路向西南步行247米右转',\n",
       "      'orientation': '西南',\n",
       "      'road': '桃园东路',\n",
       "      'distance': '247',\n",
       "      'duration': '198',\n",
       "      'polyline': '113.669714,23.601897;113.66964,23.601771;113.66964,23.601771;113.669488,23.601558;113.669488,23.601558;113.668789,23.600859;113.668663,23.600768;113.668663,23.600768;113.668442,23.600647;113.667947,23.600417',\n",
       "      'action': '右转',\n",
       "      'assistant_action': [],\n",
       "      'walk_type': '0'},\n",
       "     {'instruction': '沿龙泉路向北步行44米到达目的地',\n",
       "      'orientation': '北',\n",
       "      'road': '龙泉路',\n",
       "      'distance': '44',\n",
       "      'duration': '35',\n",
       "      'polyline': '113.667943,23.600412;113.667812,23.600794',\n",
       "      'action': [],\n",
       "      'assistant_action': '到达目的地',\n",
       "      'walk_type': '0'}]}]}}"
      ]
     },
     "execution_count": 271,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 步行\n",
    "i = walking(huang_key,origin,destination)\n",
    "i"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 公交车 （暨南大学-->猎德）\n",
    "\n",
    "> * 1、url:https://restapi.amap.com/v3/direction/transit/integrated?parameters    \n",
    "> * 2、requests.get()\n",
    "> * 3、参数：\n",
    "\n",
    ">> * A.必选：key，origin（出发点（经度，纬度））,destination（目的地（经度，纬度）），city\n",
    ">> * B.可选：cityd（跨城公交规划时的终点城市（跨城必填）），extensions（base:返回基本信息；all：返回全部信息），strategy（公交换乘策略，缺省值：0），nightflag（是否计算夜班车，缺省值：0），date（出发日期），time（出发时间），sig（数字签名），output（返回数据格式类型，缺省值：JSON），callback（回调函数）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 272,
   "metadata": {},
   "outputs": [],
   "source": [
    "origin = \"113.350961,23.131577\"\n",
    "destination = \"113.336127,23.113409\"\n",
    "city = \"广州\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 273,
   "metadata": {},
   "outputs": [],
   "source": [
    "暨南大学_address = \"广东省广州市暨南大学\"\n",
    "猎德大桥_address = \"广东省广州市猎德大桥\"\n",
    "def bus(key,origin,destination,city,cityd=None,extensions=\"base\",strategy=0,nightflag=0,date=None,time=None,sig=None,output=\"JSON\",callback=None):\n",
    "    bus_url = \"https://restapi.amap.com/v3/direction/transit/integrated?parameters\"\n",
    "    params ={\n",
    "        \"key\":key,\n",
    "        \"origin\":origin,\n",
    "        \"destination\":destination,\n",
    "        \"city\":city,\n",
    "        \"cityd\":cityd,\n",
    "        \"extensions\":extensions,\n",
    "        \"strategy\":strategy,\n",
    "        \"nightflag\":nightflag,\n",
    "        \"date\":date,\n",
    "        \"time\":time,\n",
    "        \"sig\":sig,\n",
    "        \"output\":output,\n",
    "        \"callback\":callback\n",
    "    }\n",
    "    r = requests.get(bus_url,params=params)\n",
    "    result = r.json()\n",
    "    return result"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 274,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'status': '1',\n",
       " 'info': 'OK',\n",
       " 'infocode': '10000',\n",
       " 'count': '5',\n",
       " 'route': {'origin': '113.350961,23.131577',\n",
       "  'destination': '113.336127,23.113409',\n",
       "  'distance': '3224',\n",
       "  'taxi_cost': '14',\n",
       "  'transits': [{'cost': '2.0',\n",
       "    'duration': '2949',\n",
       "    'nightflag': '0',\n",
       "    'walking_distance': '1875',\n",
       "    'distance': '3660',\n",
       "    'missed': '0',\n",
       "    'segments': [{'taxi': [],\n",
       "      'walking': {'origin': '113.351013,23.131449',\n",
       "       'destination': '113.343330,23.123077',\n",
       "       'distance': '1692',\n",
       "       'duration': '1450',\n",
       "       'steps': [{'instruction': '沿明湖南路步行143米左转',\n",
       "         'road': '明湖南路',\n",
       "         'distance': '143',\n",
       "         'duration': [],\n",
       "         'polyline': '113.351013,23.131449;113.351013,23.131449;113.350510,23.131393;113.350166,23.131359;113.349617,23.131298',\n",
       "         'action': '左转',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '沿真茹路步行456米右转',\n",
       "         'road': '真茹路',\n",
       "         'distance': '456',\n",
       "         'duration': [],\n",
       "         'polyline': '113.349617,23.131294;113.349609,23.131102;113.349594,23.130243;113.349594,23.129940;113.349602,23.129696;113.349617,23.128382;113.349609,23.128311;113.349617,23.128256;113.349602,23.127144',\n",
       "         'action': '右转',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '沿忠信路步行164米左转',\n",
       "         'road': '忠信路',\n",
       "         'distance': '164',\n",
       "         'duration': [],\n",
       "         'polyline': '113.349602,23.127140;113.349144,23.127136;113.348541,23.127123;113.347977,23.127117',\n",
       "         'action': '左转',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '步行115米右转',\n",
       "         'road': [],\n",
       "         'distance': '115',\n",
       "         'duration': [],\n",
       "         'polyline': '113.347977,23.127113;113.347954,23.126619;113.347946,23.126467;113.347878,23.126076',\n",
       "         'action': '右转',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '沿黄埔大道西步行448米左转',\n",
       "         'road': '黄埔大道西',\n",
       "         'distance': '448',\n",
       "         'duration': [],\n",
       "         'polyline': '113.347870,23.126072;113.347603,23.126112;113.347534,23.126116;113.347221,23.126137;113.346855,23.126163;113.346703,23.126177;113.346245,23.126198;113.345619,23.126232;113.344688,23.126293;113.344040,23.126341;113.343880,23.126354;113.343674,23.126375;113.343460,23.126389',\n",
       "         'action': '左转',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '沿马场路步行366米到达红线女中心',\n",
       "         'road': '马场路',\n",
       "         'distance': '366',\n",
       "         'duration': [],\n",
       "         'polyline': '113.343460,23.126389;113.343376,23.126038;113.343376,23.125919;113.343361,23.125494;113.343353,23.125139;113.343346,23.124201;113.343346,23.123955;113.343346,23.123476;113.343330,23.123077',\n",
       "         'action': [],\n",
       "         'assistant_action': '到达红线女中心'}]},\n",
       "      'bus': {'buslines': [{'departure_stop': {'name': '红线女中心',\n",
       "          'id': '440100016237010',\n",
       "          'location': '113.343323,23.123074'},\n",
       "         'arrival_stop': {'name': '猎德码头',\n",
       "          'id': '440100016237014',\n",
       "          'location': '113.337013,23.112682'},\n",
       "         'name': '138路(东莞庄总站--五羊新城总站)',\n",
       "         'id': '440100016237',\n",
       "         'type': '普通公交线路',\n",
       "         'distance': '1785',\n",
       "         'duration': '1342',\n",
       "         'polyline': '113.343323,23.123074;113.343323,23.122465;113.343323,23.122135;113.343323,23.121876;113.343323,23.121498;113.343346,23.121321;113.343346,23.120838;113.343315,23.119480;113.343315,23.119381;113.343300,23.118837;113.343300,23.118729;113.343300,23.118732;113.343300,23.118729;113.343300,23.118616;113.343300,23.118425;113.343292,23.117977;113.343277,23.117701;113.343269,23.117422;113.343269,23.117178;113.343269,23.117008;113.343262,23.115990;113.343246,23.115242;113.343246,23.115238;113.343224,23.114662;113.343216,23.113762;113.343201,23.113306;113.343193,23.112373;113.343117,23.112127;113.343063,23.112062;113.342949,23.111954;113.342865,23.111908;113.342339,23.111992;113.342064,23.112032;113.341805,23.112072;113.341141,23.112171;113.340675,23.112226;113.338737,23.112469;113.338371,23.112513;113.337975,23.112560;113.337013,23.112682',\n",
       "         'bustimetag': '0',\n",
       "         'start_time': [],\n",
       "         'end_time': [],\n",
       "         'via_num': '3',\n",
       "         'via_stops': [{'name': '马场路中',\n",
       "           'id': '440100016237011',\n",
       "           'location': '113.343300,23.118729'},\n",
       "          {'name': '马场路南',\n",
       "           'id': '440100016237022',\n",
       "           'location': '113.343246,23.115242'},\n",
       "          {'name': '临江大道东',\n",
       "           'id': '440100016237013',\n",
       "           'location': '113.341805,23.112072'}]}]},\n",
       "      'entrance': [],\n",
       "      'exit': [],\n",
       "      'railway': {'via_stops': [], 'alters': [], 'spaces': []}},\n",
       "     {'taxi': [],\n",
       "      'walking': {'origin': '113.337013,23.112679',\n",
       "       'destination': '113.336212,23.113394',\n",
       "       'distance': '183',\n",
       "       'duration': '156',\n",
       "       'steps': [{'instruction': '沿临江大道步行62米右转',\n",
       "         'road': '临江大道',\n",
       "         'distance': '62',\n",
       "         'duration': [],\n",
       "         'polyline': '113.337013,23.112679;113.336601,23.112730;113.336403,23.112764',\n",
       "         'action': '右转',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '沿海文路步行83米左转',\n",
       "         'road': '海文路',\n",
       "         'distance': '83',\n",
       "         'duration': [],\n",
       "         'polyline': '113.336403,23.112764;113.336441,23.113173;113.336418,23.113516',\n",
       "         'action': '左转',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '步行17米左转',\n",
       "         'road': [],\n",
       "         'distance': '17',\n",
       "         'duration': [],\n",
       "         'polyline': '113.336418,23.113516;113.336327,23.113554;113.336258,23.113581',\n",
       "         'action': '左转',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '步行21米',\n",
       "         'road': [],\n",
       "         'distance': '21',\n",
       "         'duration': [],\n",
       "         'polyline': '113.336258,23.113581;113.336212,23.113394',\n",
       "         'action': [],\n",
       "         'assistant_action': []}]},\n",
       "      'bus': {'buslines': []},\n",
       "      'entrance': [],\n",
       "      'exit': [],\n",
       "      'railway': {'via_stops': [], 'alters': [], 'spaces': []}}]},\n",
       "   {'cost': '2.0',\n",
       "    'duration': '2859',\n",
       "    'nightflag': '0',\n",
       "    'walking_distance': '2125',\n",
       "    'distance': '3864',\n",
       "    'missed': '0',\n",
       "    'segments': [{'taxi': [],\n",
       "      'walking': {'origin': '113.351013,23.131449',\n",
       "       'destination': '113.345093,23.126266',\n",
       "       'distance': '1160',\n",
       "       'duration': '994',\n",
       "       'steps': [{'instruction': '沿明湖南路步行143米左转',\n",
       "         'road': '明湖南路',\n",
       "         'distance': '143',\n",
       "         'duration': [],\n",
       "         'polyline': '113.351013,23.131449;113.351013,23.131449;113.350510,23.131393;113.350166,23.131359;113.349617,23.131298',\n",
       "         'action': '左转',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '沿真茹路步行456米右转',\n",
       "         'road': '真茹路',\n",
       "         'distance': '456',\n",
       "         'duration': [],\n",
       "         'polyline': '113.349617,23.131294;113.349609,23.131102;113.349594,23.130243;113.349594,23.129940;113.349602,23.129696;113.349617,23.128382;113.349609,23.128311;113.349617,23.128256;113.349602,23.127144',\n",
       "         'action': '右转',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '沿忠信路步行164米左转',\n",
       "         'road': '忠信路',\n",
       "         'distance': '164',\n",
       "         'duration': [],\n",
       "         'polyline': '113.349602,23.127140;113.349144,23.127136;113.348541,23.127123;113.347977,23.127117',\n",
       "         'action': '左转',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '步行115米右转',\n",
       "         'road': [],\n",
       "         'distance': '115',\n",
       "         'duration': [],\n",
       "         'polyline': '113.347977,23.127113;113.347954,23.126619;113.347946,23.126467;113.347878,23.126076',\n",
       "         'action': '右转',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '沿黄埔大道西步行282米到达国防大厦',\n",
       "         'road': '黄埔大道西',\n",
       "         'distance': '282',\n",
       "         'duration': [],\n",
       "         'polyline': '113.347870,23.126072;113.347603,23.126112;113.347534,23.126116;113.347221,23.126137;113.346855,23.126163;113.346703,23.126177;113.346245,23.126198;113.345619,23.126232;113.345093,23.126266',\n",
       "         'action': [],\n",
       "         'assistant_action': '到达国防大厦'}]},\n",
       "      'bus': {'buslines': [{'departure_stop': {'name': '国防大厦',\n",
       "          'id': '440100017236025',\n",
       "          'location': '113.345039,23.126272'},\n",
       "         'arrival_stop': {'name': '珠江公园南门',\n",
       "          'id': '440100017236029',\n",
       "          'location': '113.335547,23.118342'},\n",
       "         'name': '901A路(天河智慧城核心区总站(高唐)--华成路总站)',\n",
       "         'id': '440100017236',\n",
       "         'type': '普通公交线路',\n",
       "         'distance': '1739',\n",
       "         'duration': '1038',\n",
       "         'polyline': '113.345039,23.126272;113.344692,23.126293;113.344036,23.126341;113.343958,23.126345;113.343880,23.126354;113.343672,23.126376;113.343459,23.126389;113.343368,23.126029;113.343355,23.125135;113.343342,23.124193;113.343338,23.123950;113.343333,23.123472;113.343329,23.123273;113.343320,23.122457;113.343329,23.122135;113.343320,23.121875;113.343338,23.121567;113.343338,23.121319;113.343338,23.120838;113.343312,23.119479;113.343312,23.119379;113.343294,23.118837;113.343294,23.118737;113.343294,23.118615;113.343294,23.118424;113.343277,23.118021;113.343242,23.117930;113.343173,23.117839;113.342969,23.117713;113.342222,23.117765;113.342044,23.117778;113.342040,23.117778;113.341411,23.117817;113.340647,23.117904;113.340304,23.117934;113.339748,23.117990;113.339132,23.118047;113.338837,23.118077;113.335547,23.118342',\n",
       "         'bustimetag': '0',\n",
       "         'start_time': [],\n",
       "         'end_time': [],\n",
       "         'via_num': '3',\n",
       "         'via_stops': [{'name': '红线女中心',\n",
       "           'id': '440100017236026',\n",
       "           'location': '113.343329,23.123273'},\n",
       "          {'name': '马场路中',\n",
       "           'id': '440100017236027',\n",
       "           'location': '113.343294,23.118737'},\n",
       "          {'name': '花城大道东',\n",
       "           'id': '440100017236028',\n",
       "           'location': '113.342044,23.117778'}]}]},\n",
       "      'entrance': [],\n",
       "      'exit': [],\n",
       "      'railway': {'via_stops': [], 'alters': [], 'spaces': []}},\n",
       "     {'taxi': [],\n",
       "      'walking': {'origin': '113.335556,23.118341',\n",
       "       'destination': '113.336212,23.113394',\n",
       "       'distance': '965',\n",
       "       'duration': '827',\n",
       "       'steps': [{'instruction': '沿花城大道步行124米向右前方行走',\n",
       "         'road': '花城大道',\n",
       "         'distance': '124',\n",
       "         'duration': [],\n",
       "         'polyline': '113.335556,23.118341;113.335075,23.118382;113.334900,23.118399;113.334564,23.118420;113.334335,23.118443',\n",
       "         'action': '向右前方行走',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '沿猎德大道步行29米左转',\n",
       "         'road': '猎德大道',\n",
       "         'distance': '29',\n",
       "         'duration': [],\n",
       "         'polyline': '113.334335,23.118443;113.334084,23.118559',\n",
       "         'action': '左转',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '步行23米左转',\n",
       "         'road': [],\n",
       "         'distance': '23',\n",
       "         'duration': [],\n",
       "         'polyline': '113.334084,23.118559;113.333870,23.118477',\n",
       "         'action': '左转',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '沿猎德大道步行24米向左前方行走',\n",
       "         'road': '猎德大道',\n",
       "         'distance': '24',\n",
       "         'duration': [],\n",
       "         'polyline': '113.333870,23.118473;113.333885,23.118259',\n",
       "         'action': '向左前方行走',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '步行31米右转',\n",
       "         'road': [],\n",
       "         'distance': '31',\n",
       "         'duration': [],\n",
       "         'polyline': '113.333885,23.118256;113.334099,23.118055',\n",
       "         'action': '右转',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '沿花城大道步行29米向左前方行走',\n",
       "         'road': '花城大道',\n",
       "         'distance': '29',\n",
       "         'duration': [],\n",
       "         'polyline': '113.334099,23.118052;113.334068,23.118025;113.333900,23.117851',\n",
       "         'action': '向左前方行走',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '沿猎德大道步行375米左转',\n",
       "         'road': '猎德大道',\n",
       "         'distance': '375',\n",
       "         'duration': [],\n",
       "         'polyline': '113.333900,23.117847;113.333916,23.117365;113.333931,23.116741;113.333939,23.116358;113.333969,23.115152;113.333969,23.114449',\n",
       "         'action': '左转',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '沿海月路步行167米右转',\n",
       "         'road': '海月路',\n",
       "         'distance': '167',\n",
       "         'duration': [],\n",
       "         'polyline': '113.333969,23.114445;113.334137,23.114445;113.334671,23.114445;113.335442,23.114445;113.335617,23.114435',\n",
       "         'action': '右转',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '步行64米向左前方行走',\n",
       "         'road': [],\n",
       "         'distance': '64',\n",
       "         'duration': [],\n",
       "         'polyline': '113.335617,23.114431;113.335609,23.114105;113.335571,23.113850',\n",
       "         'action': '向左前方行走',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '步行78米右转',\n",
       "         'road': [],\n",
       "         'distance': '78',\n",
       "         'duration': [],\n",
       "         'polyline': '113.335571,23.113846;113.335602,23.113794;113.335678,23.113750;113.336151,23.113628;113.336258,23.113585',\n",
       "         'action': '右转',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '步行21米',\n",
       "         'road': [],\n",
       "         'distance': '21',\n",
       "         'duration': [],\n",
       "         'polyline': '113.336258,23.113581;113.336212,23.113394',\n",
       "         'action': [],\n",
       "         'assistant_action': []}]},\n",
       "      'bus': {'buslines': []},\n",
       "      'entrance': [],\n",
       "      'exit': [],\n",
       "      'railway': {'via_stops': [], 'alters': [], 'spaces': []}}]},\n",
       "   {'cost': '3.0',\n",
       "    'duration': '2915',\n",
       "    'nightflag': '0',\n",
       "    'walking_distance': '2878',\n",
       "    'distance': '7016',\n",
       "    'missed': '0',\n",
       "    'segments': [{'taxi': [],\n",
       "      'walking': {'origin': '113.351013,23.131449',\n",
       "       'destination': '113.339600,23.134882',\n",
       "       'distance': '1705',\n",
       "       'duration': '1461',\n",
       "       'steps': [{'instruction': '沿明湖南路步行35米左转',\n",
       "         'road': '明湖南路',\n",
       "         'distance': '35',\n",
       "         'duration': [],\n",
       "         'polyline': '113.351013,23.131449;113.351357,23.131479',\n",
       "         'action': '左转',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '沿真如东路步行219米向右前方行走',\n",
       "         'road': '真如东路',\n",
       "         'distance': '219',\n",
       "         'duration': [],\n",
       "         'polyline': '113.351357,23.131479;113.351288,23.132196;113.351280,23.132383;113.351265,23.132973;113.351242,23.133142;113.351219,23.133255;113.351105,23.133425',\n",
       "         'action': '向右前方行走',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '沿真如东路步行311米右转',\n",
       "         'road': '真如东路',\n",
       "         'distance': '311',\n",
       "         'duration': [],\n",
       "         'polyline': '113.351105,23.133425;113.351105,23.133646;113.350967,23.134319;113.350739,23.135208;113.350723,23.135242;113.350685,23.135265;113.350037,23.135382;113.349899,23.135382;113.349792,23.135382;113.349709,23.135386',\n",
       "         'action': '右转',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '步行25米左转',\n",
       "         'road': [],\n",
       "         'distance': '25',\n",
       "         'duration': [],\n",
       "         'polyline': '113.349709,23.135386;113.349724,23.135477;113.349762,23.135612',\n",
       "         'action': '左转',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '沿中山大道西辅路步行48米往前走',\n",
       "         'road': '中山大道西辅路',\n",
       "         'distance': '48',\n",
       "         'duration': [],\n",
       "         'polyline': '113.349762,23.135612;113.349297,23.135685',\n",
       "         'action': '往前走',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '沿中山大道西步行389米往前走',\n",
       "         'road': '中山大道西',\n",
       "         'distance': '389',\n",
       "         'duration': [],\n",
       "         'polyline': '113.349289,23.135685;113.347931,23.135933;113.347603,23.135994;113.347290,23.136055;113.347237,23.136068;113.346786,23.136150;113.345551,23.136272',\n",
       "         'action': '往前走',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '沿天河路辅路步行510米左转',\n",
       "         'road': '天河路辅路',\n",
       "         'distance': '510',\n",
       "         'duration': [],\n",
       "         'polyline': '113.345543,23.136272;113.345161,23.136219;113.344955,23.136181;113.344780,23.136147;113.343987,23.135981;113.343697,23.135916;113.343346,23.135841;113.342941,23.135756;113.342758,23.135715;113.342560,23.135668;113.342316,23.135612;113.342033,23.135538;113.341805,23.135481;113.341431,23.135395;113.340897,23.135260;113.340675,23.135187;113.340637,23.135170',\n",
       "         'action': '左转',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '步行168米到达岗顶',\n",
       "         'road': [],\n",
       "         'distance': '168',\n",
       "         'duration': [],\n",
       "         'polyline': '113.340630,23.135174;113.340607,23.134878;113.340248,23.134731;113.340080,23.135078;113.339600,23.134882',\n",
       "         'action': [],\n",
       "         'assistant_action': '到达岗顶'}]},\n",
       "      'bus': {'buslines': [{'departure_stop': {'name': '岗顶',\n",
       "          'id': '440100023034005',\n",
       "          'location': '113.339601,23.134880'},\n",
       "         'arrival_stop': {'name': '珠江新城',\n",
       "          'id': '440100023034008',\n",
       "          'location': '113.321206,23.119293'},\n",
       "         'name': '地铁3号线(天河客运站--番禺广场)',\n",
       "         'id': '440100023034',\n",
       "         'type': '地铁线路',\n",
       "         'distance': '3158',\n",
       "         'duration': '316',\n",
       "         'polyline': '113.339601,23.134880;113.338709,23.134517;113.338282,23.134328;113.338056,23.134226;113.337864,23.134149;113.337673,23.134069;113.337473,23.134001;113.337212,23.133924;113.336968,23.133861;113.336742,23.133806;113.336464,23.133743;113.335455,23.133493;113.334924,23.133353;113.334733,23.133305;113.334585,23.133277;113.334305,23.133216;113.333834,23.133138;113.333091,23.133116;113.332124,23.133135;113.331184,23.133151;113.330589,23.133198;113.328752,23.133418;113.328183,23.133479;113.327289,23.133514;113.326354,23.133514;113.325081,23.133547;113.324429,23.133601;113.323537,23.133645;113.322613,23.133645;113.322308,23.133591;113.321994,23.133405;113.321558,23.132971;113.321548,23.132550;113.321503,23.131138;113.321456,23.129680;113.321411,23.128625;113.321320,23.127081;113.321280,23.124987;113.321239,23.122875;113.321210,23.120814;113.321206,23.119293',\n",
       "         'bustimetag': '0',\n",
       "         'start_time': '0610',\n",
       "         'end_time': '2330',\n",
       "         'via_num': '2',\n",
       "         'via_stops': [{'name': '石牌桥',\n",
       "           'id': '440100023034006',\n",
       "           'location': '113.332124,23.133135'},\n",
       "          {'name': '体育西路',\n",
       "           'id': '440100023034007',\n",
       "           'location': '113.321503,23.131138'}]}]},\n",
       "      'entrance': {'name': 'D口', 'location': '113.340599,23.134874'},\n",
       "      'exit': [],\n",
       "      'railway': {'via_stops': [], 'alters': [], 'spaces': []}},\n",
       "     {'taxi': [],\n",
       "      'walking': [],\n",
       "      'bus': {'buslines': [{'departure_stop': {'name': '珠江新城',\n",
       "          'id': '440100023037014',\n",
       "          'location': '113.321206,23.119293'},\n",
       "         'arrival_stop': {'name': '猎德',\n",
       "          'id': '440100023037015',\n",
       "          'location': '113.332105,23.118539'},\n",
       "         'name': '地铁5号线(滘口--文冲)',\n",
       "         'id': '440100023037',\n",
       "         'type': '地铁线路',\n",
       "         'distance': '980',\n",
       "         'duration': '133',\n",
       "         'polyline': '113.321206,23.119293;113.322586,23.119290;113.324445,23.119121;113.326668,23.118952;113.329169,23.118750;113.331498,23.118582;113.332105,23.118539',\n",
       "         'bustimetag': '0',\n",
       "         'start_time': '0615',\n",
       "         'end_time': '2315',\n",
       "         'via_num': '0',\n",
       "         'via_stops': []}]},\n",
       "      'entrance': [],\n",
       "      'exit': {'name': 'B口', 'location': '113.332726,23.118099'},\n",
       "      'railway': {'via_stops': [], 'alters': [], 'spaces': []}},\n",
       "     {'taxi': [],\n",
       "      'walking': {'origin': '113.332100,23.118532',\n",
       "       'destination': '113.336212,23.113394',\n",
       "       'distance': '1172',\n",
       "       'duration': '1004',\n",
       "       'steps': [{'instruction': '步行151米右转',\n",
       "         'road': [],\n",
       "         'distance': '151',\n",
       "         'duration': [],\n",
       "         'polyline': '113.332100,23.118532;113.332779,23.118494;113.332809,23.118494;113.332779,23.118095;113.332726,23.118099;113.332695,23.118359',\n",
       "         'action': '右转',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '沿花城大道步行22米向右前方行走',\n",
       "         'road': '花城大道',\n",
       "         'distance': '22',\n",
       "         'duration': [],\n",
       "         'polyline': '113.332687,23.118359;113.332909,23.118347',\n",
       "         'action': '向右前方行走',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '沿猎德大道步行79米向右前方行走',\n",
       "         'road': '猎德大道',\n",
       "         'distance': '79',\n",
       "         'duration': [],\n",
       "         'polyline': '113.332909,23.118341;113.333267,23.118065;113.333488,23.117851',\n",
       "         'action': '向右前方行走',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '沿猎德大道步行298米右转',\n",
       "         'road': '猎德大道',\n",
       "         'distance': '298',\n",
       "         'duration': [],\n",
       "         'polyline': '113.333488,23.117847;113.333519,23.117331;113.333519,23.117266;113.333534,23.116875;113.333542,23.116472;113.333549,23.116064;113.333557,23.115938;113.333580,23.115339;113.333588,23.115129',\n",
       "         'action': '右转',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '步行25米向右前方行走',\n",
       "         'road': [],\n",
       "         'distance': '25',\n",
       "         'duration': [],\n",
       "         'polyline': '113.333580,23.115126;113.333488,23.115126;113.333488,23.115269',\n",
       "         'action': '向右前方行走',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '步行81米右转',\n",
       "         'road': [],\n",
       "         'distance': '81',\n",
       "         'duration': [],\n",
       "         'polyline': '113.333488,23.115269;113.334015,23.115820',\n",
       "         'action': '右转',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '步行32米往前走',\n",
       "         'road': [],\n",
       "         'distance': '32',\n",
       "         'duration': [],\n",
       "         'polyline': '113.334015,23.115820;113.334076,23.115639;113.334122,23.115561',\n",
       "         'action': '往前走',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '步行10米右转',\n",
       "         'road': [],\n",
       "         'distance': '10',\n",
       "         'duration': [],\n",
       "         'polyline': '113.334122,23.115555;113.334198,23.115490',\n",
       "         'action': '右转',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '步行10米右转',\n",
       "         'road': [],\n",
       "         'distance': '10',\n",
       "         'duration': [],\n",
       "         'polyline': '113.334198,23.115486;113.334282,23.115435',\n",
       "         'action': '右转',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '步行109米左转',\n",
       "         'road': [],\n",
       "         'distance': '109',\n",
       "         'duration': [],\n",
       "         'polyline': '113.334282,23.115429;113.334244,23.115152;113.334145,23.114449',\n",
       "         'action': '左转',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '沿海月路步行230米右转',\n",
       "         'road': '海月路',\n",
       "         'distance': '230',\n",
       "         'duration': [],\n",
       "         'polyline': '113.334137,23.114445;113.334671,23.114445;113.335442,23.114445;113.335617,23.114435;113.336395,23.114305',\n",
       "         'action': '右转',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '沿海文路步行87米右转',\n",
       "         'road': '海文路',\n",
       "         'distance': '87',\n",
       "         'duration': [],\n",
       "         'polyline': '113.336395,23.114302;113.336395,23.114050;113.336418,23.113520',\n",
       "         'action': '右转',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '步行17米左转',\n",
       "         'road': [],\n",
       "         'distance': '17',\n",
       "         'duration': [],\n",
       "         'polyline': '113.336418,23.113516;113.336327,23.113554;113.336258,23.113581',\n",
       "         'action': '左转',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '步行21米',\n",
       "         'road': [],\n",
       "         'distance': '21',\n",
       "         'duration': [],\n",
       "         'polyline': '113.336258,23.113581;113.336212,23.113394',\n",
       "         'action': [],\n",
       "         'assistant_action': []}]},\n",
       "      'bus': {'buslines': []},\n",
       "      'entrance': [],\n",
       "      'exit': [],\n",
       "      'railway': {'via_stops': [], 'alters': [], 'spaces': []}}]},\n",
       "   {'cost': '2.0',\n",
       "    'duration': '3098',\n",
       "    'nightflag': '0',\n",
       "    'walking_distance': '2054',\n",
       "    'distance': '4869',\n",
       "    'missed': '0',\n",
       "    'segments': [{'taxi': [],\n",
       "      'walking': {'origin': '113.351013,23.131449',\n",
       "       'destination': '113.351860,23.125507',\n",
       "       'distance': '1045',\n",
       "       'duration': '895',\n",
       "       'steps': [{'instruction': '沿明湖南路步行143米左转',\n",
       "         'road': '明湖南路',\n",
       "         'distance': '143',\n",
       "         'duration': [],\n",
       "         'polyline': '113.351013,23.131449;113.351013,23.131449;113.350510,23.131393;113.350166,23.131359;113.349617,23.131298',\n",
       "         'action': '左转',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '沿真茹路步行456米往前走',\n",
       "         'road': '真茹路',\n",
       "         'distance': '456',\n",
       "         'duration': [],\n",
       "         'polyline': '113.349617,23.131294;113.349609,23.131102;113.349594,23.130243;113.349594,23.129940;113.349602,23.129696;113.349617,23.128382;113.349609,23.128311;113.349617,23.128256;113.349602,23.127144',\n",
       "         'action': '往前走',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '沿真如路步行132米左转',\n",
       "         'road': '真如路',\n",
       "         'distance': '132',\n",
       "         'duration': [],\n",
       "         'polyline': '113.349602,23.127140;113.349609,23.127052;113.349617,23.127005;113.349625,23.126862;113.349655,23.126518;113.349678,23.126249;113.349693,23.126106;113.349693,23.126059;113.349709,23.125929',\n",
       "         'action': '左转',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '沿真如东路步行165米右转',\n",
       "         'road': '真如东路',\n",
       "         'distance': '165',\n",
       "         'duration': [],\n",
       "         'polyline': '113.349709,23.125925;113.350487,23.125790;113.350983,23.125769;113.351112,23.125803;113.351181,23.125841;113.351288,23.125908',\n",
       "         'action': '右转',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '步行69米往前走',\n",
       "         'road': [],\n",
       "         'distance': '69',\n",
       "         'duration': [],\n",
       "         'polyline': '113.351288,23.125902;113.351341,23.125820;113.351486,23.125967;113.351601,23.125769;113.351715,23.125793',\n",
       "         'action': '往前走',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '步行59米右转',\n",
       "         'road': [],\n",
       "         'distance': '59',\n",
       "         'duration': [],\n",
       "         'polyline': '113.351715,23.125793;113.351852,23.125813;113.351936,23.125799;113.351967,23.125772;113.352028,23.125729;113.352043,23.125687;113.352066,23.125517',\n",
       "         'action': '右转',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '步行21米到达华侨医院(潭村)',\n",
       "         'road': [],\n",
       "         'distance': '21',\n",
       "         'duration': [],\n",
       "         'polyline': '113.352066,23.125513;113.351860,23.125507',\n",
       "         'action': [],\n",
       "         'assistant_action': '到达华侨医院(潭村)'}]},\n",
       "      'bus': {'buslines': [{'departure_stop': {'name': '华侨医院(潭村)',\n",
       "          'id': '440100016300041',\n",
       "          'location': '113.351753,23.125460'},\n",
       "         'arrival_stop': {'name': '猎德',\n",
       "          'id': '440100016300031',\n",
       "          'location': '113.331944,23.118641'},\n",
       "         'name': '194路(华景新城总站--海珠广场总站(侨光西))',\n",
       "         'id': '440100016300',\n",
       "         'type': '普通公交线路',\n",
       "         'distance': '2815',\n",
       "         'duration': '1338',\n",
       "         'polyline': '113.351753,23.125460;113.351562,23.125319;113.351051,23.125387;113.350380,23.125525;113.348694,23.125820;113.348137,23.125938;113.347801,23.125998;113.347450,23.126015;113.347298,23.126011;113.346436,23.126080;113.346230,23.126215;113.346016,23.126221;113.345619,23.126234;113.344940,23.126276;113.344696,23.126293;113.344032,23.126343;113.343956,23.126347;113.343887,23.126354;113.343674,23.126375;113.343460,23.126389;113.343292,23.126406;113.343117,23.126415;113.342972,23.126425;113.342819,23.126431;113.342590,23.126450;113.342323,23.126467;113.341522,23.126520;113.340981,23.126549;113.340614,23.126549;113.340424,23.126524;113.339645,23.126579;113.339470,23.126593;113.338676,23.126657;113.338058,23.126684;113.337997,23.126694;113.337830,23.126694;113.337746,23.126766;113.337410,23.126793;113.336723,23.126844;113.336571,23.126858;113.335106,23.126966;113.334961,23.126976;113.334282,23.127014;113.334152,23.127022;113.333939,23.127035;113.333717,23.127045;113.333557,23.127001;113.333443,23.126953;113.333244,23.126808;113.333176,23.126722;113.333168,23.126398;113.333168,23.126221;113.333191,23.125843;113.333229,23.125433;113.333244,23.124969;113.333275,23.124340;113.333397,23.124149;113.333397,23.123707;113.333398,23.123707;113.333398,23.123672;113.333420,23.123225;113.333468,23.122452;113.333472,23.122092;113.333490,23.121697;113.333498,23.121115;113.333407,23.120955;113.333403,23.120812;113.333407,23.120430;113.333424,23.119865;113.333442,23.119492;113.333451,23.118945;113.333377,23.118850;113.333242,23.118715;113.332969,23.118542;113.331944,23.118637;113.331944,23.118641',\n",
       "         'bustimetag': '0',\n",
       "         'start_time': [],\n",
       "         'end_time': [],\n",
       "         'via_num': '3',\n",
       "         'via_stops': [{'name': '国防大厦',\n",
       "           'id': '440100016300009',\n",
       "           'location': '113.344940,23.126276'},\n",
       "          {'name': '石牌村',\n",
       "           'id': '440100016300010',\n",
       "           'location': '113.339645,23.126579'},\n",
       "          {'name': '猎德大道北站',\n",
       "           'id': '440100016300042',\n",
       "           'location': '113.333397,23.123707'}]}]},\n",
       "      'entrance': [],\n",
       "      'exit': [],\n",
       "      'railway': {'via_stops': [], 'alters': [], 'spaces': []}},\n",
       "     {'taxi': [],\n",
       "      'walking': {'origin': '113.331863,23.118647',\n",
       "       'destination': '113.336212,23.113394',\n",
       "       'distance': '1009',\n",
       "       'duration': '864',\n",
       "       'steps': [{'instruction': '沿花城大道步行220米右转',\n",
       "         'road': '花城大道',\n",
       "         'distance': '220',\n",
       "         'duration': [],\n",
       "         'polyline': '113.331863,23.118647;113.332527,23.118589;113.332848,23.118559;113.332870,23.118559;113.333130,23.118647;113.333260,23.118729;113.333473,23.118511;113.333870,23.118477',\n",
       "         'action': '右转',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '沿猎德大道步行24米向左前方行走',\n",
       "         'road': '猎德大道',\n",
       "         'distance': '24',\n",
       "         'duration': [],\n",
       "         'polyline': '113.333870,23.118473;113.333885,23.118259',\n",
       "         'action': '向左前方行走',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '步行31米右转',\n",
       "         'road': [],\n",
       "         'distance': '31',\n",
       "         'duration': [],\n",
       "         'polyline': '113.333885,23.118256;113.334099,23.118055',\n",
       "         'action': '右转',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '沿花城大道步行29米向左前方行走',\n",
       "         'road': '花城大道',\n",
       "         'distance': '29',\n",
       "         'duration': [],\n",
       "         'polyline': '113.334099,23.118052;113.334068,23.118025;113.333900,23.117851',\n",
       "         'action': '向左前方行走',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '沿猎德大道步行375米左转',\n",
       "         'road': '猎德大道',\n",
       "         'distance': '375',\n",
       "         'duration': [],\n",
       "         'polyline': '113.333900,23.117847;113.333916,23.117365;113.333931,23.116741;113.333939,23.116358;113.333969,23.115152;113.333969,23.114449',\n",
       "         'action': '左转',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '沿海月路步行167米右转',\n",
       "         'road': '海月路',\n",
       "         'distance': '167',\n",
       "         'duration': [],\n",
       "         'polyline': '113.333969,23.114445;113.334137,23.114445;113.334671,23.114445;113.335442,23.114445;113.335617,23.114435',\n",
       "         'action': '右转',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '步行64米向左前方行走',\n",
       "         'road': [],\n",
       "         'distance': '64',\n",
       "         'duration': [],\n",
       "         'polyline': '113.335617,23.114431;113.335609,23.114105;113.335571,23.113850',\n",
       "         'action': '向左前方行走',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '步行78米右转',\n",
       "         'road': [],\n",
       "         'distance': '78',\n",
       "         'duration': [],\n",
       "         'polyline': '113.335571,23.113846;113.335602,23.113794;113.335678,23.113750;113.336151,23.113628;113.336258,23.113585',\n",
       "         'action': '右转',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '步行21米',\n",
       "         'road': [],\n",
       "         'distance': '21',\n",
       "         'duration': [],\n",
       "         'polyline': '113.336258,23.113581;113.336212,23.113394',\n",
       "         'action': [],\n",
       "         'assistant_action': []}]},\n",
       "      'bus': {'buslines': []},\n",
       "      'entrance': [],\n",
       "      'exit': [],\n",
       "      'railway': {'via_stops': [], 'alters': [], 'spaces': []}}]},\n",
       "   {'cost': '1.0',\n",
       "    'duration': '2647',\n",
       "    'nightflag': '0',\n",
       "    'walking_distance': '1408',\n",
       "    'distance': '4611',\n",
       "    'missed': '1',\n",
       "    'segments': [{'taxi': [],\n",
       "      'walking': {'origin': '113.351013,23.131449',\n",
       "       'destination': '113.345055,23.125912',\n",
       "       'distance': '1225',\n",
       "       'duration': '1050',\n",
       "       'steps': [{'instruction': '沿明湖南路步行143米左转',\n",
       "         'road': '明湖南路',\n",
       "         'distance': '143',\n",
       "         'duration': [],\n",
       "         'polyline': '113.351013,23.131449;113.351013,23.131449;113.350510,23.131393;113.350166,23.131359;113.349617,23.131298',\n",
       "         'action': '左转',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '沿真茹路步行456米右转',\n",
       "         'road': '真茹路',\n",
       "         'distance': '456',\n",
       "         'duration': [],\n",
       "         'polyline': '113.349617,23.131294;113.349609,23.131102;113.349594,23.130243;113.349594,23.129940;113.349602,23.129696;113.349617,23.128382;113.349609,23.128311;113.349617,23.128256;113.349602,23.127144',\n",
       "         'action': '右转',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '沿忠信路步行164米左转',\n",
       "         'road': '忠信路',\n",
       "         'distance': '164',\n",
       "         'duration': [],\n",
       "         'polyline': '113.349602,23.127140;113.349144,23.127136;113.348541,23.127123;113.347977,23.127117',\n",
       "         'action': '左转',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '步行115米右转',\n",
       "         'road': [],\n",
       "         'distance': '115',\n",
       "         'duration': [],\n",
       "         'polyline': '113.347977,23.127113;113.347954,23.126619;113.347946,23.126467;113.347878,23.126076',\n",
       "         'action': '右转',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '沿黄埔大道西步行67米向右前方行走',\n",
       "         'road': '黄埔大道西',\n",
       "         'distance': '67',\n",
       "         'duration': [],\n",
       "         'polyline': '113.347870,23.126072;113.347603,23.126112;113.347534,23.126116;113.347221,23.126137',\n",
       "         'action': '向右前方行走',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '步行125米左转',\n",
       "         'road': [],\n",
       "         'distance': '125',\n",
       "         'duration': [],\n",
       "         'polyline': '113.347214,23.126137;113.347214,23.126160;113.346947,23.126177;113.346901,23.125681;113.346588,23.125698;113.346596,23.125776',\n",
       "         'action': '左转',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '沿黄埔大道西步行155米到达国防大厦',\n",
       "         'road': '黄埔大道西',\n",
       "         'distance': '155',\n",
       "         'duration': [],\n",
       "         'polyline': '113.346596,23.125772;113.346306,23.125793;113.346100,23.125816;113.345978,23.125834;113.345726,23.125860;113.345055,23.125912',\n",
       "         'action': [],\n",
       "         'assistant_action': '到达国防大厦'}]},\n",
       "      'bus': {'buslines': [{'departure_stop': {'name': '国防大厦',\n",
       "          'id': '900000105872002',\n",
       "          'location': '113.344963,23.125919'},\n",
       "         'arrival_stop': {'name': '猎德码头',\n",
       "          'id': '900000105872006',\n",
       "          'location': '113.337082,23.112673'},\n",
       "         'name': '669路(金穗路总站(马场路口)--金穗路总站(马场路口))',\n",
       "         'id': '900000105872',\n",
       "         'type': '普通公交线路',\n",
       "         'distance': '3203',\n",
       "         'duration': '1441',\n",
       "         'polyline': '113.344963,23.125919;113.344961,23.125920;113.345725,23.125859;113.345977,23.125833;113.346102,23.125816;113.346306,23.125794;113.347248,23.125738;113.347444,23.125768;113.347708,23.125738;113.348134,23.125673;113.348650,23.125595;113.348906,23.125408;113.349297,23.125321;113.349839,23.125200;113.349718,23.124605;113.349596,23.124162;113.349510,23.123837;113.349510,23.123832;113.349384,23.123368;113.348611,23.120503;113.348533,23.120226;113.348537,23.120230;113.348534,23.120235;113.348534,23.120232;113.348198,23.118980;113.348000,23.118338;113.347816,23.117743;113.347725,23.117605;113.347633,23.117527;113.347450,23.117386;113.347382,23.117395;113.347153,23.117418;113.346390,23.117496;113.346389,23.117496;113.346124,23.117522;113.344839,23.117609;113.344674,23.117622;113.344132,23.117648;113.343767,23.117661;113.343459,23.117682;113.343268,23.117422;113.343264,23.117179;113.343268,23.117010;113.343260,23.115990;113.343242,23.115239;113.343229,23.114661;113.343216,23.113763;113.343203,23.113307;113.343186,23.112313;113.343095,23.112092;113.342947,23.111953;113.342856,23.111918;113.342522,23.111962;113.342066,23.112031;113.341801,23.112070;113.341805,23.112072;113.341141,23.112171;113.340675,23.112226;113.338737,23.112469;113.338371,23.112513;113.337975,23.112560;113.337082,23.112673',\n",
       "         'bustimetag': '2',\n",
       "         'start_time': [],\n",
       "         'end_time': [],\n",
       "         'via_num': '5',\n",
       "         'via_stops': [{'name': '跑马地花园',\n",
       "           'id': '900000105872016',\n",
       "           'location': '113.349510,23.123837'},\n",
       "          {'name': '骏逸苑',\n",
       "           'id': '900000105872003',\n",
       "           'location': '113.348533,23.120226'},\n",
       "          {'name': '花城大道',\n",
       "           'id': '900000105872004',\n",
       "           'location': '113.346390,23.117496'},\n",
       "          {'name': '马场南路',\n",
       "           'id': '900000105872015',\n",
       "           'location': '113.343242,23.115239'},\n",
       "          {'name': '临江大道东',\n",
       "           'id': '900000105872005',\n",
       "           'location': '113.341801,23.112070'}]}]},\n",
       "      'entrance': [],\n",
       "      'exit': [],\n",
       "      'railway': {'via_stops': [], 'alters': [], 'spaces': []}},\n",
       "     {'taxi': [],\n",
       "      'walking': {'origin': '113.337013,23.112679',\n",
       "       'destination': '113.336212,23.113394',\n",
       "       'distance': '183',\n",
       "       'duration': '156',\n",
       "       'steps': [{'instruction': '沿临江大道步行62米右转',\n",
       "         'road': '临江大道',\n",
       "         'distance': '62',\n",
       "         'duration': [],\n",
       "         'polyline': '113.337013,23.112679;113.336601,23.112730;113.336403,23.112764',\n",
       "         'action': '右转',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '沿海文路步行83米左转',\n",
       "         'road': '海文路',\n",
       "         'distance': '83',\n",
       "         'duration': [],\n",
       "         'polyline': '113.336403,23.112764;113.336441,23.113173;113.336418,23.113516',\n",
       "         'action': '左转',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '步行17米左转',\n",
       "         'road': [],\n",
       "         'distance': '17',\n",
       "         'duration': [],\n",
       "         'polyline': '113.336418,23.113516;113.336327,23.113554;113.336258,23.113581',\n",
       "         'action': '左转',\n",
       "         'assistant_action': []},\n",
       "        {'instruction': '步行21米',\n",
       "         'road': [],\n",
       "         'distance': '21',\n",
       "         'duration': [],\n",
       "         'polyline': '113.336258,23.113581;113.336212,23.113394',\n",
       "         'action': [],\n",
       "         'assistant_action': []}]},\n",
       "      'bus': {'buslines': []},\n",
       "      'entrance': [],\n",
       "      'exit': [],\n",
       "      'railway': {'via_stops': [], 'alters': [], 'spaces': []}}]}]}}"
      ]
     },
     "execution_count": 274,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a = bus(huang_key,origin,destination,city)\n",
    "a"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 自驾车 （暨南大学-->猎德）\n",
    "\n",
    "> * 1、url:https://restapi.amap.com/v3/direction/driving?parameters    \n",
    "> * 2、requests.get()\n",
    "> * 3、参数：\n",
    "\n",
    ">> * A.必选：key，origin（出发点（经度，纬度））,destination（目的地（经度，纬度）），extensions（base:返回基本信息；all：返回全部信息）\n",
    ">> * B.可选：originid（出发点poiid），destinationid（目的地poiid），origintype（起点的poi类别），destinationtype（终点的poi类别），strategy（驾车选择策略，缺省值：0），waypoints（途经点），avoidpolygons（避让区域），avoidroad（避让道路名），province（用汉字填入车牌省份缩写，用于判断是否限行），number（填入除省份及标点之外，车牌的字母和数字（需大写）。用于判断限行相关。），cartype（车辆类型），ferry（在路径规划中，是否使用轮渡），roadaggregation（是否返回路径聚合信息，缺省值：false），nosteps（是否返回steps字段内容，缺省值：0），sig（数字签名），output（返回数据格式类型，缺省值：JSON），callback（回调函数）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 275,
   "metadata": {},
   "outputs": [],
   "source": [
    "origin = \"113.350961,23.131577\"\n",
    "destination = \"113.336127,23.113409\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 276,
   "metadata": {},
   "outputs": [],
   "source": [
    "暨南大学_address = \"广东省广州市暨南大学\"\n",
    "猎德大桥_address = \"广东省广州市猎德大桥\"\n",
    "def driving(key,origin,destination,extensions=\"base\",originid=None,destinationid=None,origintype=None,destinationtype=None,strategy=0,waypoints=None,avoidpolygons=None,avoidroad=None,province=None,number=None,cartype=None,ferry=None,roadaggregation=\"false\",nosteps=0,sig=None,output=\"JSON\",callback=None):\n",
    "    driving_url = \"https://restapi.amap.com/v3/direction/driving?parameters\"\n",
    "    params ={\n",
    "        \"key\":key,\n",
    "        \"origin\":origin,\n",
    "        \"destination\":destination,\n",
    "        \"extensions\":extensions,\n",
    "        \"originid\":originid,\n",
    "        \"destinationid\":destinationid,\n",
    "        \"origintype\":origintype,\n",
    "        \"destinationtype\":destinationtype,\n",
    "        \"strategy\":strategy,\n",
    "        \"waypoints\":waypoints,\n",
    "        \"avoidpolygons\":avoidpolygons,\n",
    "        \"avoidroad\":avoidroad,\n",
    "        \"province\":province,\n",
    "        \"number\":number,\n",
    "        \"cartype\":cartype,\n",
    "        \"ferry\":ferry,\n",
    "        \"roadaggregation\":roadaggregation,\n",
    "        \"nosteps\":nosteps,\n",
    "        \"sig\":sig,\n",
    "        \"output\":output,\n",
    "        \"callback\":callback\n",
    "    }\n",
    "    r = requests.get(driving_url,params=params)\n",
    "    result = r.json()\n",
    "    return result"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 277,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'status': '1',\n",
       " 'info': 'OK',\n",
       " 'infocode': '10000',\n",
       " 'count': '1',\n",
       " 'route': {'origin': '113.350961,23.131577',\n",
       "  'destination': '113.336127,23.113409',\n",
       "  'paths': [{'distance': '4518',\n",
       "    'duration': '642',\n",
       "    'strategy': '速度最快',\n",
       "    'tolls': '1',\n",
       "    'toll_distance': '1992',\n",
       "    'steps': [{'instruction': '沿中山立交桥途径华南大桥、S4华南快速向南行驶1.6千米向右前方行驶进入匝道',\n",
       "      'orientation': '南',\n",
       "      'road': '中山立交桥',\n",
       "      'distance': '1622',\n",
       "      'tolls': '0',\n",
       "      'toll_distance': '1622',\n",
       "      'toll_road': '中山立交桥',\n",
       "      'duration': '91',\n",
       "      'polyline': '113.351137,23.131597;113.351233,23.130924;113.351289,23.130677;113.351315,23.130616;113.351406,23.130503;113.351515,23.129436;113.35158,23.128824;113.351641,23.12829;113.351701,23.127635;113.351749,23.127018;113.351797,23.12622;113.35184,23.12536;113.35204,23.122405;113.352135,23.120994;113.352148,23.12059;113.352174,23.119874;113.352179,23.119275;113.352166,23.118381;113.352153,23.117934;113.352109,23.117656;113.352096,23.117418;113.352075,23.116992',\n",
       "      'action': '向右前方行驶',\n",
       "      'assistant_action': '进入匝道'},\n",
       "     {'instruction': '沿S4华南快速出口向东南行驶370米减速行驶到达收费站',\n",
       "      'orientation': '东南',\n",
       "      'road': 'S4华南快速出口',\n",
       "      'distance': '370',\n",
       "      'tolls': '0',\n",
       "      'toll_distance': '370',\n",
       "      'toll_road': 'S4华南快速出口',\n",
       "      'duration': '51',\n",
       "      'polyline': '113.352075,23.116992;113.352005,23.116888;113.351949,23.116706;113.35168,23.11615;113.351641,23.116042;113.351632,23.115968;113.351649,23.11582;113.351697,23.115703;113.35174,23.115647;113.351801,23.115582;113.351892,23.115521;113.351984,23.115477;113.352088,23.115451;113.352287,23.115456;113.352383,23.11549;113.352474,23.115534;113.352552,23.115599;113.352643,23.115694;113.352708,23.115794;113.352817,23.116016;113.352843,23.116107;113.352856,23.116237;113.352856,23.116567',\n",
       "      'action': '减速行驶',\n",
       "      'assistant_action': '到达收费站'},\n",
       "     {'instruction': '沿S4华南快速出口向北行驶53米左转',\n",
       "      'orientation': '北',\n",
       "      'road': 'S4华南快速出口',\n",
       "      'distance': '53',\n",
       "      'tolls': '0',\n",
       "      'toll_distance': '0',\n",
       "      'toll_road': [],\n",
       "      'duration': '52',\n",
       "      'polyline': '113.352856,23.116567;113.352808,23.117044',\n",
       "      'action': '左转',\n",
       "      'assistant_action': []},\n",
       "     {'instruction': '沿花城大道向西行驶504米左转',\n",
       "      'orientation': '西',\n",
       "      'road': '花城大道',\n",
       "      'distance': '504',\n",
       "      'tolls': '0',\n",
       "      'toll_distance': '0',\n",
       "      'toll_road': [],\n",
       "      'duration': '114',\n",
       "      'polyline': '113.352769,23.117335;113.352148,23.117313;113.351836,23.117309;113.351719,23.117305;113.351528,23.117296;113.351337,23.117305;113.351263,23.117296;113.351185,23.117296;113.350799,23.117292;113.349887,23.117283;113.349193,23.117283;113.349097,23.117283;113.348906,23.117274;113.348568,23.117292;113.34832,23.117309;113.347791,23.117344',\n",
       "      'action': '左转',\n",
       "      'assistant_action': []},\n",
       "     {'instruction': '沿平江路向南行驶600米向右前方行驶进入右转专用道',\n",
       "      'orientation': '南',\n",
       "      'road': '平江路',\n",
       "      'distance': '600',\n",
       "      'tolls': '0',\n",
       "      'toll_distance': '0',\n",
       "      'toll_road': [],\n",
       "      'duration': '60',\n",
       "      'polyline': '113.347687,23.117131;113.347665,23.116819;113.347639,23.116476;113.347617,23.116189;113.347604,23.115998;113.347587,23.115838;113.347569,23.115612;113.347543,23.115234;113.347478,23.11431;113.347413,23.113485;113.347322,23.112257;113.347292,23.111706',\n",
       "      'action': '向右前方行驶',\n",
       "      'assistant_action': '进入右转专用道'},\n",
       "     {'instruction': '沿临江大道向西南行驶54米右转',\n",
       "      'orientation': '西南',\n",
       "      'road': '临江大道',\n",
       "      'distance': '54',\n",
       "      'tolls': '0',\n",
       "      'toll_distance': '0',\n",
       "      'toll_road': [],\n",
       "      'duration': '15',\n",
       "      'polyline': '113.347292,23.111706;113.347222,23.111589;113.347157,23.111532;113.347018,23.111467;113.346879,23.111428',\n",
       "      'action': '右转',\n",
       "      'assistant_action': []},\n",
       "     {'instruction': '沿临江大道向西行驶1.1千米右转',\n",
       "      'orientation': '西',\n",
       "      'road': '临江大道',\n",
       "      'distance': '1058',\n",
       "      'tolls': '0',\n",
       "      'toll_distance': '0',\n",
       "      'toll_road': [],\n",
       "      'duration': '131',\n",
       "      'polyline': '113.346879,23.111428;113.346385,23.111493;113.345716,23.111567;113.344245,23.111758;113.34395,23.111788;113.343364,23.11184;113.343181,23.111871;113.34276,23.111927;113.342504,23.11197;113.342066,23.112031;113.341137,23.11217;113.340677,23.112227;113.338741,23.11247;113.338372,23.112513;113.337969,23.112561;113.336602,23.112734',\n",
       "      'action': '右转',\n",
       "      'assistant_action': []},\n",
       "     {'instruction': '沿海文路向北行驶145米左转调头',\n",
       "      'orientation': '北',\n",
       "      'road': '海文路',\n",
       "      'distance': '145',\n",
       "      'tolls': '0',\n",
       "      'toll_distance': '0',\n",
       "      'toll_road': [],\n",
       "      'duration': '77',\n",
       "      'polyline': '113.336602,23.112734;113.33658,23.113177;113.336558,23.113511;113.336532,23.114054',\n",
       "      'action': '左转调头',\n",
       "      'assistant_action': []},\n",
       "     {'instruction': '沿海文路向南行驶73米右转',\n",
       "      'orientation': '南',\n",
       "      'road': '海文路',\n",
       "      'distance': '73',\n",
       "      'tolls': '0',\n",
       "      'toll_distance': '0',\n",
       "      'toll_road': [],\n",
       "      'duration': '19',\n",
       "      'polyline': '113.336532,23.114054;113.336463,23.114067;113.336398,23.114045;113.336419,23.113516',\n",
       "      'action': '右转',\n",
       "      'assistant_action': []},\n",
       "     {'instruction': '向西行驶17米左转',\n",
       "      'orientation': '西',\n",
       "      'distance': '17',\n",
       "      'tolls': '0',\n",
       "      'toll_distance': '0',\n",
       "      'toll_road': [],\n",
       "      'duration': '15',\n",
       "      'polyline': '113.336419,23.113516;113.336319,23.113555;113.336259,23.113581',\n",
       "      'action': '左转',\n",
       "      'assistant_action': []},\n",
       "     {'instruction': '向南行驶22米到达目的地',\n",
       "      'orientation': '南',\n",
       "      'distance': '22',\n",
       "      'tolls': '0',\n",
       "      'toll_distance': '0',\n",
       "      'toll_road': [],\n",
       "      'duration': '17',\n",
       "      'polyline': '113.336259,23.113581;113.336215,23.11339',\n",
       "      'action': [],\n",
       "      'assistant_action': '到达目的地'}],\n",
       "    'restriction': '0',\n",
       "    'traffic_lights': '6'}]}}"
      ]
     },
     "execution_count": 277,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "b = driving(huang_key,origin,destination)\n",
    "b"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 骑行 （暨南大学-->猎德）\n",
    "\n",
    "> * 1、url:https://restapi.amap.com/v4/direction/bicycling?parameters    \n",
    "> * 2、requests.get()\n",
    "> * 3、参数：\n",
    "\n",
    ">> * 必选：key，origin（出发点（经度，纬度））,destination（目的地（经度，纬度））"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 278,
   "metadata": {},
   "outputs": [],
   "source": [
    "origin = \"113.350961,23.131577\"\n",
    "destination = \"113.336127,23.113409\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 279,
   "metadata": {},
   "outputs": [],
   "source": [
    "暨南大学_address = \"广东省广州市暨南大学\"\n",
    "猎德大桥_address = \"广东省广州市猎德大桥\"\n",
    "def bicycling(key,origin,destination):\n",
    "    bicycling_url = \"https://restapi.amap.com/v4/direction/bicycling?parameters\"\n",
    "    params ={\n",
    "        \"key\":key,\n",
    "        \"origin\":origin,\n",
    "        \"destination\":destination\n",
    "    }\n",
    "    r = requests.get(bicycling_url,params=params)\n",
    "    result = r.json()\n",
    "    return result"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 280,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'data': {'destination': '113.336127,23.113409',\n",
       "  'origin': '113.350961,23.131577',\n",
       "  'paths': [{'distance': 3554,\n",
       "    'duration': 853,\n",
       "    'steps': [{'action': '左转',\n",
       "      'assistant_action': '',\n",
       "      'distance': 139,\n",
       "      'duration': 33,\n",
       "      'instruction': '沿明湖南路向西骑行139米左转',\n",
       "      'orientation': '西',\n",
       "      'polyline': '113.350977,23.131445;113.350512,23.131393;113.350512,23.131393;113.350169,23.131359;113.350169,23.131359;113.349618,23.131298',\n",
       "      'road': '明湖南路',\n",
       "      'walk_type': 0},\n",
       "     {'action': '右转',\n",
       "      'assistant_action': '',\n",
       "      'distance': 456,\n",
       "      'duration': 109,\n",
       "      'instruction': '沿真茹路向南骑行456米右转',\n",
       "      'orientation': '南',\n",
       "      'polyline': '113.349614,23.131293;113.349609,23.131102;113.349609,23.131102;113.349596,23.130243;113.349596,23.130243;113.349596,23.129939;113.349596,23.129939;113.349601,23.129696;113.349601,23.129696;113.349614,23.128381;113.349614,23.128381;113.349609,23.128312;113.349609,23.128312;113.349614,23.128255;113.349614,23.128255;113.349605,23.127144',\n",
       "      'road': '真茹路',\n",
       "      'walk_type': 0},\n",
       "     {'action': '左转',\n",
       "      'assistant_action': '',\n",
       "      'distance': 164,\n",
       "      'duration': 39,\n",
       "      'instruction': '沿忠信路向西骑行164米左转',\n",
       "      'orientation': '西',\n",
       "      'polyline': '113.349601,23.12714;113.349145,23.127135;113.349145,23.127135;113.348542,23.127122;113.348542,23.127122;113.347977,23.127118',\n",
       "      'road': '忠信路',\n",
       "      'walk_type': 0},\n",
       "     {'action': '右转',\n",
       "      'assistant_action': '',\n",
       "      'distance': 115,\n",
       "      'duration': 28,\n",
       "      'instruction': '向南骑行115米右转',\n",
       "      'orientation': '南',\n",
       "      'polyline': '113.347973,23.127114;113.347956,23.126619;113.347956,23.126619;113.347947,23.126467;113.347947,23.126467;113.347878,23.126076',\n",
       "      'road': '',\n",
       "      'walk_type': 0},\n",
       "     {'action': '左转',\n",
       "      'assistant_action': None,\n",
       "      'distance': 448,\n",
       "      'duration': 108,\n",
       "      'instruction': '沿黄埔大道西向西骑行448米左转',\n",
       "      'orientation': '西',\n",
       "      'polyline': '113.347873,23.126072;113.347604,23.126111;113.347604,23.126111;113.34753,23.126115;113.34753,23.126115;113.347218,23.126137;113.347218,23.126137;113.346858,23.126163;113.346858,23.126163;113.346706,23.126176;113.346706,23.126176;113.346241,23.126198;113.346241,23.126198;113.345621,23.126233;113.345621,23.126233;113.344692,23.126293;113.344692,23.126293;113.344041,23.126341;113.344041,23.126341;113.34388,23.126354;113.34388,23.126354;113.343676,23.126376;113.343464,23.126389',\n",
       "      'road': '黄埔大道西',\n",
       "      'walk_type': 0},\n",
       "     {'action': '右转',\n",
       "      'assistant_action': '',\n",
       "      'distance': 1141,\n",
       "      'duration': 274,\n",
       "      'instruction': '沿马场路向南骑行1141米右转',\n",
       "      'orientation': '南',\n",
       "      'polyline': '113.343459,23.126389;113.343372,23.126037;113.343372,23.126037;113.343372,23.12592;113.343372,23.12592;113.343364,23.125495;113.343364,23.125495;113.343355,23.125139;113.343355,23.125139;113.343346,23.124201;113.343346,23.124201;113.343342,23.123954;113.343342,23.123954;113.343342,23.123477;113.343342,23.123477;113.343325,23.122461;113.343325,23.122461;113.343329,23.12214;113.343329,23.12214;113.343325,23.121879;113.343325,23.121879;113.343338,23.121562;113.343338,23.121562;113.343338,23.121324;113.343338,23.121324;113.343338,23.120842;113.343338,23.120842;113.343316,23.119488;113.343316,23.119488;113.343316,23.119379;113.343316,23.119379;113.343303,23.118841;113.343303,23.118841;113.343303,23.118624;113.343303,23.118624;113.343303,23.118429;113.343303,23.118429;113.343286,23.118086;113.343286,23.118086;113.343286,23.118025;113.343286,23.118025;113.343286,23.117704;113.343286,23.117704;113.343273,23.117426;113.343273,23.117426;113.343264,23.117183;113.343264,23.117183;113.343268,23.117031;113.343268,23.117031;113.343268,23.117014;113.343268,23.117014;113.343264,23.115994',\n",
       "      'road': '马场路',\n",
       "      'walk_type': 0},\n",
       "     {'action': '左转',\n",
       "      'assistant_action': '',\n",
       "      'distance': 710,\n",
       "      'duration': 170,\n",
       "      'instruction': '沿海明路向西骑行710米左转',\n",
       "      'orientation': '西',\n",
       "      'polyline': '113.34326,23.11599;113.3426,23.115998;113.3426,23.115998;113.3424,23.115998;113.3424,23.115998;113.341311,23.11599;113.341311,23.11599;113.341198,23.11599;113.341198,23.11599;113.340859,23.115972;113.340859,23.115972;113.34079,23.115972;113.34079,23.115972;113.340412,23.115977;113.340412,23.115977;113.3398,23.116059;113.3398,23.116059;113.339692,23.116076;113.339692,23.116076;113.338832,23.116176;113.338832,23.116176;113.338511,23.11622;113.338511,23.11622;113.338429,23.116228;113.338429,23.116228;113.337986,23.116315;113.337986,23.116315;113.337426,23.116441;113.337426,23.116441;113.337014,23.116523;113.337014,23.116523;113.33645,23.116632;113.33645,23.116632;113.336306,23.116632',\n",
       "      'road': '海明路',\n",
       "      'walk_type': 0},\n",
       "     {'action': '右转',\n",
       "      'assistant_action': '',\n",
       "      'distance': 343,\n",
       "      'duration': 82,\n",
       "      'instruction': '沿海文路向南骑行343米右转',\n",
       "      'orientation': '南',\n",
       "      'polyline': '113.336302,23.116632;113.336324,23.116115;113.336324,23.116115;113.336363,23.115595;113.336363,23.115595;113.336363,23.115282;113.336363,23.115282;113.336376,23.114679;113.336376,23.114679;113.336393,23.114306;113.336393,23.114306;113.336393,23.114049;113.336393,23.114049;113.336415,23.11352',\n",
       "      'road': '海文路',\n",
       "      'walk_type': 0},\n",
       "     {'action': '左转',\n",
       "      'assistant_action': '',\n",
       "      'distance': 17,\n",
       "      'duration': 4,\n",
       "      'instruction': '向西北骑行17米左转',\n",
       "      'orientation': '西北',\n",
       "      'polyline': '113.336415,23.113516;113.336328,23.113555;113.336328,23.113555;113.336259,23.113581',\n",
       "      'road': '',\n",
       "      'walk_type': 0},\n",
       "     {'action': '',\n",
       "      'assistant_action': '到达目的地',\n",
       "      'distance': 21,\n",
       "      'duration': 5,\n",
       "      'instruction': '向南骑行21米到达目的地',\n",
       "      'orientation': '南',\n",
       "      'polyline': '113.336254,23.113581;113.336215,23.113394',\n",
       "      'road': '',\n",
       "      'walk_type': 0}]}]},\n",
       " 'errcode': 0,\n",
       " 'errdetail': None,\n",
       " 'errmsg': 'OK',\n",
       " 'ext': None}"
      ]
     },
     "execution_count": 280,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "c = bicycling(huang_key,origin,destination)\n",
    "c"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 货车 （暨南大学-->猎德）\n",
    "\n",
    "> * 1、url:https://restapi.amap.com/v4/direction/truck?parameters    \n",
    "> * 2、requests.get()\n",
    "> * 3、参数：\n",
    "\n",
    ">> * A.必选：key，origin（出发点（经度，纬度））,destination（目的地（经度，纬度）），extensions（base:返回基本信息；all：返回全部信息）\n",
    ">> * B.可选：originid（出发点poiid），destinationid（目的地poiid），origintype（起点的poi类别），destinationtype（终点的poi类别），diu（设备唯一编号），strategy（驾车选择策略，缺省值：1），waypoints（途经点），size（车辆大小），height（车辆高度，缺省值：1.6），width （车辆宽度，缺省值：2.5），load（车辆总重，缺省值：10），weight（货车核定载重，缺省值：0.9），axis（车辆轴数，缺省值：2），province（车牌省份），number（车牌详情），cartype（车辆类型，默认值：0），avoidpolygons（避让区域），showpolyline（是否返回路线数据，缺省值：1），nosteps（是否返回steps字段内容，缺省值：0）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 281,
   "metadata": {},
   "outputs": [],
   "source": [
    "origin = \"113.350961,23.131577\"\n",
    "destination = \"113.336127,23.113409\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 282,
   "metadata": {},
   "outputs": [],
   "source": [
    "暨南大学_address = \"广东省广州市暨南大学\"\n",
    "猎德大桥_address = \"广东省广州市猎德大桥\"\n",
    "def truck(key,origin,destination,extensions=\"base\",originid=None,destinationid=None,origintype=None,destinationtype=None,diu=None,strategy=1,waypoints=None,size=None,height=1.6,width=2.5,load=10,weight=0.9,axis=2,avoidpolygons=None,showpolyline=1,province=None,number=None,cartype=0,nosteps=0):\n",
    "    truck_url = \"https://restapi.amap.com/v4/direction/truck?parameters\"\n",
    "    params ={\n",
    "        \"key\":key,\n",
    "        \"origin\":origin,\n",
    "        \"destination\":destination,\n",
    "        \"extensions\":extensions,\n",
    "        \"originid\":originid,\n",
    "        \"destinationid\":destinationid,\n",
    "        \"origintype\":origintype,\n",
    "        \"destinationtype\":destinationtype,\n",
    "        \"diu\":diu,\n",
    "        \"strategy\":strategy,\n",
    "        \"waypoints\":waypoints,\n",
    "        \"size\":size,\n",
    "        \"height\":height,\n",
    "        \"width\":width,\n",
    "        \"load\":load,\n",
    "        \"weight\":weight,\n",
    "        \"axis\":axis,\n",
    "        \"avoidpolygons\":avoidpolygons,\n",
    "        \"showpolyline\":showpolyline,\n",
    "        \"province\":province,\n",
    "        \"number\":number,\n",
    "        \"cartype\":cartype,\n",
    "        \"nosteps\":nosteps,\n",
    "    }\n",
    "    r = requests.get(truck_url,params=params)\n",
    "    result = r.json()\n",
    "    return result"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 283,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'data': {'route': {'destination': '113.336127,23.113409',\n",
       "   'origin': '113.350961,23.131577',\n",
       "   'paths': [{'distance': 4413,\n",
       "     'duration': 626,\n",
       "     'restriction': 0,\n",
       "     'steps': [{'action': '向右前方行驶',\n",
       "       'assistant_action': '进入匝道',\n",
       "       'cities': [{'adcode': '440106',\n",
       "         'citycode': None,\n",
       "         'districts': [],\n",
       "         'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None}],\n",
       "       'distance': 1622,\n",
       "       'duration': 91,\n",
       "       'instruction': '沿中山立交桥途径华南大桥、S4华南快速向南行驶1.6千米向右前方行驶进入匝道',\n",
       "       'orientation': '南',\n",
       "       'polyline': '113.351137,23.131597;113.351233,23.130924;113.351289,23.130677;113.351315,23.130616;113.351406,23.130503;113.351515,23.129436;113.35158,23.128824;113.351641,23.12829;113.351701,23.127635;113.351749,23.127018;113.351797,23.12622;113.35184,23.12536;113.35204,23.122405;113.352135,23.120994;113.352148,23.12059;113.352174,23.119874;113.352179,23.119275;113.352166,23.118381;113.352153,23.117934;113.352109,23.117656;113.352096,23.117418;113.352075,23.116992',\n",
       "       'road': '中山立交桥',\n",
       "       'tmcs': [{'distance': 126,\n",
       "         'polyline': '113.351137,23.131597;113.351233,23.130924;113.351289,23.130677;113.351315,23.130616;113.351406,23.130503',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 186,\n",
       "         'polyline': '113.351406,23.130503;113.351515,23.129436;113.35158,23.128824',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 132,\n",
       "         'polyline': '113.35158,23.128824;113.351641,23.12829;113.351701,23.127635',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 781,\n",
       "         'polyline': '113.351701,23.127635;113.351749,23.127018;113.351797,23.12622;113.35184,23.12536;113.35204,23.122405;113.352135,23.120994;113.352148,23.12059',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 79,\n",
       "         'polyline': '113.352148,23.12059;113.352174,23.119874',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 65,\n",
       "         'polyline': '113.352174,23.119874;113.352179,23.119275',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 206,\n",
       "         'polyline': '113.352179,23.119275;113.352166,23.118381;113.352153,23.117934;113.352109,23.117656;113.352096,23.117418',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 47,\n",
       "         'polyline': '113.352096,23.117418;113.352075,23.116992',\n",
       "         'status': '畅通'}],\n",
       "       'toll_distance': 1622,\n",
       "       'toll_road': '中山立交桥',\n",
       "       'tolls': 0},\n",
       "      {'action': '减速行驶',\n",
       "       'assistant_action': '到达收费站',\n",
       "       'cities': [{'adcode': '440106',\n",
       "         'citycode': None,\n",
       "         'districts': [],\n",
       "         'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None}],\n",
       "       'distance': 370,\n",
       "       'duration': 51,\n",
       "       'instruction': '沿S4华南快速出口向东南行驶370米减速行驶到达收费站',\n",
       "       'orientation': '东南',\n",
       "       'polyline': '113.352075,23.116992;113.352005,23.116888;113.351949,23.116706;113.35168,23.11615;113.351641,23.116042;113.351632,23.115968;113.351649,23.11582;113.351697,23.115703;113.35174,23.115647;113.351801,23.115582;113.351892,23.115521;113.351984,23.115477;113.352088,23.115451;113.352287,23.115456;113.352383,23.11549;113.352474,23.115534;113.352552,23.115599;113.352643,23.115694;113.352708,23.115794;113.352817,23.116016;113.352843,23.116107;113.352856,23.116237;113.352856,23.116567',\n",
       "       'road': 'S4华南快速出口',\n",
       "       'tmcs': [{'distance': 139,\n",
       "         'polyline': '113.352075,23.116992;113.352005,23.116888;113.351949,23.116706;113.35168,23.11615;113.351641,23.116042;113.351632,23.115968;113.351649,23.11582',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 170,\n",
       "         'polyline': '113.351649,23.11582;113.351697,23.115703;113.35174,23.115647;113.351801,23.115582;113.351892,23.115521;113.351984,23.115477;113.352088,23.115451;113.352287,23.115456;113.352383,23.11549;113.352474,23.115534;113.352552,23.115599;113.352643,23.115694;113.352708,23.115794;113.352817,23.116016',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 61,\n",
       "         'polyline': '113.352817,23.116016;113.352843,23.116107;113.352856,23.116237;113.352856,23.116567',\n",
       "         'status': '畅通'}],\n",
       "       'toll_distance': 370,\n",
       "       'toll_road': 'S4华南快速出口',\n",
       "       'tolls': 0},\n",
       "      {'action': '左转',\n",
       "       'assistant_action': '',\n",
       "       'cities': [{'adcode': '440106',\n",
       "         'citycode': None,\n",
       "         'districts': [],\n",
       "         'name': None}],\n",
       "       'distance': 53,\n",
       "       'duration': 52,\n",
       "       'instruction': '沿S4华南快速出口向北行驶53米左转',\n",
       "       'orientation': '北',\n",
       "       'polyline': '113.352856,23.116567;113.352808,23.117044;113.352769,23.117335',\n",
       "       'road': 'S4华南快速出口',\n",
       "       'tmcs': [{'distance': 53,\n",
       "         'polyline': '113.352856,23.116567;113.352808,23.117044;113.352769,23.117335',\n",
       "         'status': '畅通'}],\n",
       "       'toll_distance': 0,\n",
       "       'toll_road': '',\n",
       "       'tolls': 0},\n",
       "      {'action': '左转',\n",
       "       'assistant_action': '',\n",
       "       'cities': [{'adcode': '440106',\n",
       "         'citycode': None,\n",
       "         'districts': [],\n",
       "         'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None}],\n",
       "       'distance': 504,\n",
       "       'duration': 114,\n",
       "       'instruction': '沿花城大道向西行驶504米左转',\n",
       "       'orientation': '西',\n",
       "       'polyline': '113.352769,23.117335;113.352148,23.117313;113.351836,23.117309;113.351719,23.117305;113.351528,23.117296;113.351337,23.117305;113.351263,23.117296;113.351185,23.117296;113.350799,23.117292;113.349887,23.117283;113.349193,23.117283;113.349097,23.117283;113.348906,23.117274;113.348568,23.117292;113.34832,23.117309;113.347791,23.117344;113.347687,23.117131',\n",
       "       'road': '花城大道',\n",
       "       'tmcs': [{'distance': 63,\n",
       "         'polyline': '113.352769,23.117335;113.352148,23.117313',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 31,\n",
       "         'polyline': '113.352148,23.117313;113.351836,23.117309',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 12,\n",
       "         'polyline': '113.351836,23.117309;113.351719,23.117305',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 39,\n",
       "         'polyline': '113.351719,23.117305;113.351528,23.117296;113.351337,23.117305',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 15,\n",
       "         'polyline': '113.351337,23.117305;113.351263,23.117296;113.351185,23.117296',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 39,\n",
       "         'polyline': '113.351185,23.117296;113.350799,23.117292',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 93,\n",
       "         'polyline': '113.350799,23.117292;113.349887,23.117283',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 71,\n",
       "         'polyline': '113.349887,23.117283;113.349193,23.117283',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 9,\n",
       "         'polyline': '113.349193,23.117283;113.349097,23.117283',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 19,\n",
       "         'polyline': '113.349097,23.117283;113.348906,23.117274',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 34,\n",
       "         'polyline': '113.348906,23.117274;113.348568,23.117292',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 25,\n",
       "         'polyline': '113.348568,23.117292;113.34832,23.117309',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 54,\n",
       "         'polyline': '113.34832,23.117309;113.347791,23.117344;113.347687,23.117131',\n",
       "         'status': '畅通'}],\n",
       "       'toll_distance': 0,\n",
       "       'toll_road': '',\n",
       "       'tolls': 0},\n",
       "      {'action': '向右前方行驶',\n",
       "       'assistant_action': '进入右转专用道',\n",
       "       'cities': [{'adcode': '440106',\n",
       "         'citycode': None,\n",
       "         'districts': [],\n",
       "         'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None}],\n",
       "       'distance': 600,\n",
       "       'duration': 60,\n",
       "       'instruction': '沿平江路向南行驶600米向右前方行驶进入右转专用道',\n",
       "       'orientation': '南',\n",
       "       'polyline': '113.347687,23.117131;113.347665,23.116819;113.347639,23.116476;113.347617,23.116189;113.347604,23.115998;113.347587,23.115838;113.347569,23.115612;113.347543,23.115234;113.347478,23.11431;113.347413,23.113485;113.347322,23.112257;113.347292,23.111706',\n",
       "       'road': '平江路',\n",
       "       'tmcs': [{'distance': 34,\n",
       "         'polyline': '113.347687,23.117131;113.347665,23.116819',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 38,\n",
       "         'polyline': '113.347665,23.116819;113.347639,23.116476',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 32,\n",
       "         'polyline': '113.347639,23.116476;113.347617,23.116189',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 20,\n",
       "         'polyline': '113.347617,23.116189;113.347604,23.115998',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 18,\n",
       "         'polyline': '113.347604,23.115998;113.347587,23.115838',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 25,\n",
       "         'polyline': '113.347587,23.115838;113.347569,23.115612',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 42,\n",
       "         'polyline': '113.347569,23.115612;113.347543,23.115234',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 102,\n",
       "         'polyline': '113.347543,23.115234;113.347478,23.11431',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 92,\n",
       "         'polyline': '113.347478,23.11431;113.347413,23.113485',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 136,\n",
       "         'polyline': '113.347413,23.113485;113.347322,23.112257',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 61,\n",
       "         'polyline': '113.347322,23.112257;113.347292,23.111706',\n",
       "         'status': '畅通'}],\n",
       "       'toll_distance': 0,\n",
       "       'toll_road': '',\n",
       "       'tolls': 0},\n",
       "      {'action': '右转',\n",
       "       'assistant_action': '',\n",
       "       'cities': [{'adcode': '440106',\n",
       "         'citycode': None,\n",
       "         'districts': [],\n",
       "         'name': None}],\n",
       "       'distance': 54,\n",
       "       'duration': 15,\n",
       "       'instruction': '沿临江大道向西南行驶54米右转',\n",
       "       'orientation': '西南',\n",
       "       'polyline': '113.347292,23.111706;113.347222,23.111589;113.347157,23.111532;113.347018,23.111467;113.346879,23.111428',\n",
       "       'road': '临江大道',\n",
       "       'tmcs': [{'distance': 54,\n",
       "         'polyline': '113.347292,23.111706;113.347222,23.111589;113.347157,23.111532;113.347018,23.111467;113.346879,23.111428',\n",
       "         'status': '畅通'}],\n",
       "       'toll_distance': 0,\n",
       "       'toll_road': '',\n",
       "       'tolls': 0},\n",
       "      {'action': '右转',\n",
       "       'assistant_action': '',\n",
       "       'cities': [{'adcode': '440106',\n",
       "         'citycode': None,\n",
       "         'districts': [],\n",
       "         'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None}],\n",
       "       'distance': 953,\n",
       "       'duration': 115,\n",
       "       'instruction': '沿临江大道向西行驶953米右转',\n",
       "       'orientation': '西',\n",
       "       'polyline': '113.346879,23.111428;113.346385,23.111493;113.345716,23.111567;113.344245,23.111758;113.34395,23.111788;113.343364,23.11184;113.343181,23.111871;113.34276,23.111927;113.342504,23.11197;113.342066,23.112031;113.341137,23.11217;113.340677,23.112227;113.338741,23.11247;113.338372,23.112513;113.337969,23.112561;113.336602,23.112734',\n",
       "       'road': '临江大道',\n",
       "       'tmcs': [{'distance': 51,\n",
       "         'polyline': '113.346879,23.111428;113.346385,23.111493',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 68,\n",
       "         'polyline': '113.346385,23.111493;113.345716,23.111567',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 152,\n",
       "         'polyline': '113.345716,23.111567;113.344245,23.111758',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 30,\n",
       "         'polyline': '113.344245,23.111758;113.34395,23.111788',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 60,\n",
       "         'polyline': '113.34395,23.111788;113.343364,23.11184;113.343181,23.111871',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 44,\n",
       "         'polyline': '113.343181,23.111871;113.34276,23.111927',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 26,\n",
       "         'polyline': '113.34276,23.111927;113.342504,23.11197',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 45,\n",
       "         'polyline': '113.342504,23.11197;113.342066,23.112031',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 96,\n",
       "         'polyline': '113.342066,23.112031;113.341137,23.11217;113.340677,23.112227',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 199,\n",
       "         'polyline': '113.340677,23.112227;113.338741,23.11247;113.338372,23.112513',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 41,\n",
       "         'polyline': '113.338372,23.112513;113.337969,23.112561',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 141,\n",
       "         'polyline': '113.337969,23.112561;113.336602,23.112734',\n",
       "         'status': '畅通'}],\n",
       "       'toll_distance': 0,\n",
       "       'toll_road': '',\n",
       "       'tolls': 0},\n",
       "      {'action': '左转调头',\n",
       "       'assistant_action': '',\n",
       "       'cities': [{'adcode': '440106',\n",
       "         'citycode': None,\n",
       "         'districts': [],\n",
       "         'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None}],\n",
       "       'distance': 145,\n",
       "       'duration': 77,\n",
       "       'instruction': '沿海文路向北行驶145米左转调头',\n",
       "       'orientation': '北',\n",
       "       'polyline': '113.336602,23.112734;113.33658,23.113177;113.336558,23.113511;113.336532,23.114054',\n",
       "       'road': '海文路',\n",
       "       'tmcs': [{'distance': 49,\n",
       "         'polyline': '113.336602,23.112734;113.33658,23.113177',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 37,\n",
       "         'polyline': '113.33658,23.113177;113.336558,23.113511',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 59,\n",
       "         'polyline': '113.336558,23.113511;113.336532,23.114054',\n",
       "         'status': '畅通'}],\n",
       "       'toll_distance': 0,\n",
       "       'toll_road': '',\n",
       "       'tolls': 0},\n",
       "      {'action': '右转',\n",
       "       'assistant_action': '',\n",
       "       'cities': [{'adcode': '440106',\n",
       "         'citycode': None,\n",
       "         'districts': [],\n",
       "         'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None}],\n",
       "       'distance': 73,\n",
       "       'duration': 19,\n",
       "       'instruction': '沿海文路向南行驶73米右转',\n",
       "       'orientation': '南',\n",
       "       'polyline': '113.336532,23.114054;113.336463,23.114067;113.336398,23.114045;113.336419,23.113516',\n",
       "       'road': '海文路',\n",
       "       'tmcs': [{'distance': 14,\n",
       "         'polyline': '113.336532,23.114054;113.336463,23.114067;113.336398,23.114045',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 59,\n",
       "         'polyline': '113.336398,23.114045;113.336419,23.113516',\n",
       "         'status': '畅通'}],\n",
       "       'toll_distance': 0,\n",
       "       'toll_road': '',\n",
       "       'tolls': 0},\n",
       "      {'action': '左转',\n",
       "       'assistant_action': '',\n",
       "       'cities': [{'adcode': '440106',\n",
       "         'citycode': None,\n",
       "         'districts': [],\n",
       "         'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None}],\n",
       "       'distance': 17,\n",
       "       'duration': 15,\n",
       "       'instruction': '向西行驶17米左转',\n",
       "       'orientation': '西',\n",
       "       'polyline': '113.336419,23.113516;113.336319,23.113555;113.336259,23.113581',\n",
       "       'road': None,\n",
       "       'tmcs': [{'distance': 10,\n",
       "         'polyline': '113.336419,23.113516;113.336319,23.113555',\n",
       "         'status': '未知'},\n",
       "        {'distance': 7,\n",
       "         'polyline': '113.336319,23.113555;113.336259,23.113581',\n",
       "         'status': '未知'}],\n",
       "       'toll_distance': 0,\n",
       "       'toll_road': '',\n",
       "       'tolls': 0},\n",
       "      {'action': '',\n",
       "       'assistant_action': '到达目的地',\n",
       "       'cities': [{'adcode': '440106',\n",
       "         'citycode': None,\n",
       "         'districts': [],\n",
       "         'name': None}],\n",
       "       'distance': 22,\n",
       "       'duration': 17,\n",
       "       'instruction': '向南行驶22米到达目的地',\n",
       "       'orientation': '南',\n",
       "       'polyline': '113.336259,23.113581;113.336215,23.11339',\n",
       "       'road': None,\n",
       "       'tmcs': [{'distance': 22,\n",
       "         'polyline': '113.336259,23.113581;113.336215,23.11339',\n",
       "         'status': '未知'}],\n",
       "       'toll_distance': 0,\n",
       "       'toll_road': '',\n",
       "       'tolls': 0}],\n",
       "     'strategy': '避免拥堵',\n",
       "     'toll_distance': 1992,\n",
       "     'tolls': 2,\n",
       "     'traffic_lights': 6},\n",
       "    {'distance': 4919,\n",
       "     'duration': 772,\n",
       "     'restriction': 0,\n",
       "     'steps': [{'action': '向右前方行驶',\n",
       "       'assistant_action': '进入匝道',\n",
       "       'cities': [{'adcode': '440106',\n",
       "         'citycode': None,\n",
       "         'districts': [],\n",
       "         'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None}],\n",
       "       'distance': 1622,\n",
       "       'duration': 87,\n",
       "       'instruction': '沿中山立交桥途径华南大桥、S4华南快速向南行驶1.6千米向右前方行驶进入匝道',\n",
       "       'orientation': '南',\n",
       "       'polyline': '113.351137,23.131597;113.351233,23.130924;113.351289,23.130677;113.351315,23.130616;113.351406,23.130503;113.351515,23.129436;113.35158,23.128824;113.351641,23.12829;113.351701,23.127635;113.351749,23.127018;113.351797,23.12622;113.35184,23.12536;113.35204,23.122405;113.352135,23.120994;113.352148,23.12059;113.352174,23.119874;113.352179,23.119275;113.352166,23.118381;113.352153,23.117934;113.352109,23.117656;113.352096,23.117418;113.352075,23.116992',\n",
       "       'road': '中山立交桥',\n",
       "       'tmcs': [{'distance': 126,\n",
       "         'polyline': '113.351137,23.131597;113.351233,23.130924;113.351289,23.130677;113.351315,23.130616;113.351406,23.130503',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 186,\n",
       "         'polyline': '113.351406,23.130503;113.351515,23.129436;113.35158,23.128824',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 132,\n",
       "         'polyline': '113.35158,23.128824;113.351641,23.12829;113.351701,23.127635',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 781,\n",
       "         'polyline': '113.351701,23.127635;113.351749,23.127018;113.351797,23.12622;113.35184,23.12536;113.35204,23.122405;113.352135,23.120994;113.352148,23.12059',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 79,\n",
       "         'polyline': '113.352148,23.12059;113.352174,23.119874',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 65,\n",
       "         'polyline': '113.352174,23.119874;113.352179,23.119275',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 206,\n",
       "         'polyline': '113.352179,23.119275;113.352166,23.118381;113.352153,23.117934;113.352109,23.117656;113.352096,23.117418',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 47,\n",
       "         'polyline': '113.352096,23.117418;113.352075,23.116992',\n",
       "         'status': '畅通'}],\n",
       "       'toll_distance': 1622,\n",
       "       'toll_road': '中山立交桥',\n",
       "       'tolls': 0},\n",
       "      {'action': '减速行驶',\n",
       "       'assistant_action': '到达收费站',\n",
       "       'cities': [{'adcode': '440106',\n",
       "         'citycode': None,\n",
       "         'districts': [],\n",
       "         'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None}],\n",
       "       'distance': 370,\n",
       "       'duration': 48,\n",
       "       'instruction': '沿S4华南快速出口向东南行驶370米减速行驶到达收费站',\n",
       "       'orientation': '东南',\n",
       "       'polyline': '113.352075,23.116992;113.352005,23.116888;113.351949,23.116706;113.35168,23.11615;113.351641,23.116042;113.351632,23.115968;113.351649,23.11582;113.351697,23.115703;113.35174,23.115647;113.351801,23.115582;113.351892,23.115521;113.351984,23.115477;113.352088,23.115451;113.352287,23.115456;113.352383,23.11549;113.352474,23.115534;113.352552,23.115599;113.352643,23.115694;113.352708,23.115794;113.352817,23.116016;113.352843,23.116107;113.352856,23.116237;113.352856,23.116567',\n",
       "       'road': 'S4华南快速出口',\n",
       "       'tmcs': [{'distance': 139,\n",
       "         'polyline': '113.352075,23.116992;113.352005,23.116888;113.351949,23.116706;113.35168,23.11615;113.351641,23.116042;113.351632,23.115968;113.351649,23.11582',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 170,\n",
       "         'polyline': '113.351649,23.11582;113.351697,23.115703;113.35174,23.115647;113.351801,23.115582;113.351892,23.115521;113.351984,23.115477;113.352088,23.115451;113.352287,23.115456;113.352383,23.11549;113.352474,23.115534;113.352552,23.115599;113.352643,23.115694;113.352708,23.115794;113.352817,23.116016',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 61,\n",
       "         'polyline': '113.352817,23.116016;113.352843,23.116107;113.352856,23.116237;113.352856,23.116567',\n",
       "         'status': '畅通'}],\n",
       "       'toll_distance': 370,\n",
       "       'toll_road': 'S4华南快速出口',\n",
       "       'tolls': 0},\n",
       "      {'action': '左转',\n",
       "       'assistant_action': '',\n",
       "       'cities': [{'adcode': '440106',\n",
       "         'citycode': None,\n",
       "         'districts': [],\n",
       "         'name': None}],\n",
       "       'distance': 53,\n",
       "       'duration': 49,\n",
       "       'instruction': '沿S4华南快速出口向北行驶53米左转',\n",
       "       'orientation': '北',\n",
       "       'polyline': '113.352856,23.116567;113.352808,23.117044;113.352769,23.117335',\n",
       "       'road': 'S4华南快速出口',\n",
       "       'tmcs': [{'distance': 53,\n",
       "         'polyline': '113.352856,23.116567;113.352808,23.117044;113.352769,23.117335',\n",
       "         'status': '畅通'}],\n",
       "       'toll_distance': 0,\n",
       "       'toll_road': '',\n",
       "       'tolls': 0},\n",
       "      {'action': '左转调头',\n",
       "       'assistant_action': '',\n",
       "       'cities': [{'adcode': '440106',\n",
       "         'citycode': None,\n",
       "         'districts': [],\n",
       "         'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None}],\n",
       "       'distance': 1778,\n",
       "       'duration': 315,\n",
       "       'instruction': '沿花城大道向西行驶1.8千米左转调头',\n",
       "       'orientation': '西',\n",
       "       'polyline': '113.352769,23.117335;113.352148,23.117313;113.351836,23.117309;113.351719,23.117305;113.351528,23.117296;113.351337,23.117305;113.351263,23.117296;113.351185,23.117296;113.350799,23.117292;113.349887,23.117283;113.349193,23.117283;113.349097,23.117283;113.348906,23.117274;113.348568,23.117292;113.34832,23.117309;113.347791,23.117344;113.347721,23.117357;113.347374,23.117396;113.347096,23.117426;113.346862,23.117444;113.345981,23.117535;113.344839,23.117609;113.344674,23.117622;113.344132,23.117648;113.343767,23.117661;113.343459,23.117682;113.343277,23.1177;113.342969,23.117713;113.342222,23.117765;113.341411,23.117817;113.340495,23.117921;113.340304,23.117934;113.339748,23.11799;113.339132,23.118047;113.338837,23.118077;113.335078,23.118381;113.335039,23.118138',\n",
       "       'road': '花城大道',\n",
       "       'tmcs': [{'distance': 63,\n",
       "         'polyline': '113.352769,23.117335;113.352148,23.117313',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 31,\n",
       "         'polyline': '113.352148,23.117313;113.351836,23.117309',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 12,\n",
       "         'polyline': '113.351836,23.117309;113.351719,23.117305',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 39,\n",
       "         'polyline': '113.351719,23.117305;113.351528,23.117296;113.351337,23.117305',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 15,\n",
       "         'polyline': '113.351337,23.117305;113.351263,23.117296;113.351185,23.117296',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 39,\n",
       "         'polyline': '113.351185,23.117296;113.350799,23.117292',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 93,\n",
       "         'polyline': '113.350799,23.117292;113.349887,23.117283',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 71,\n",
       "         'polyline': '113.349887,23.117283;113.349193,23.117283',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 9,\n",
       "         'polyline': '113.349193,23.117283;113.349097,23.117283',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 19,\n",
       "         'polyline': '113.349097,23.117283;113.348906,23.117274',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 34,\n",
       "         'polyline': '113.348906,23.117274;113.348568,23.117292',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 25,\n",
       "         'polyline': '113.348568,23.117292;113.34832,23.117309',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 54,\n",
       "         'polyline': '113.34832,23.117309;113.347791,23.117344;113.347721,23.117357',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 35,\n",
       "         'polyline': '113.347721,23.117357;113.347374,23.117396',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 28,\n",
       "         'polyline': '113.347374,23.117396;113.347096,23.117426',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 115,\n",
       "         'polyline': '113.347096,23.117426;113.346862,23.117444;113.345981,23.117535',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 117,\n",
       "         'polyline': '113.345981,23.117535;113.344839,23.117609',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 17,\n",
       "         'polyline': '113.344839,23.117609;113.344674,23.117622',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 55,\n",
       "         'polyline': '113.344674,23.117622;113.344132,23.117648',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 37,\n",
       "         'polyline': '113.344132,23.117648;113.343767,23.117661',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 31,\n",
       "         'polyline': '113.343767,23.117661;113.343459,23.117682;113.343277,23.1177',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 31,\n",
       "         'polyline': '113.343277,23.1177;113.342969,23.117713',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 76,\n",
       "         'polyline': '113.342969,23.117713;113.342222,23.117765',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 178,\n",
       "         'polyline': '113.342222,23.117765;113.341411,23.117817;113.340495,23.117921',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 19,\n",
       "         'polyline': '113.340495,23.117921;113.340304,23.117934',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 56,\n",
       "         'polyline': '113.340304,23.117934;113.339748,23.11799',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 63,\n",
       "         'polyline': '113.339748,23.11799;113.339132,23.118047',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 30,\n",
       "         'polyline': '113.339132,23.118047;113.338837,23.118077',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 386,\n",
       "         'polyline': '113.338837,23.118077;113.335078,23.118381;113.335039,23.118138',\n",
       "         'status': '畅通'}],\n",
       "       'toll_distance': 0,\n",
       "       'toll_road': '',\n",
       "       'tolls': 0},\n",
       "      {'action': '右转',\n",
       "       'assistant_action': '',\n",
       "       'cities': [{'adcode': '440106',\n",
       "         'citycode': None,\n",
       "         'districts': [],\n",
       "         'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None}],\n",
       "       'distance': 327,\n",
       "       'duration': 45,\n",
       "       'instruction': '沿花城大道向东行驶327米右转',\n",
       "       'orientation': '东',\n",
       "       'polyline': '113.335039,23.118138;113.335742,23.118082;113.336259,23.118038;113.336519,23.118016;113.338238,23.117843',\n",
       "       'road': '花城大道',\n",
       "       'tmcs': [{'distance': 72,\n",
       "         'polyline': '113.335039,23.118138;113.335742,23.118082',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 52,\n",
       "         'polyline': '113.335742,23.118082;113.336259,23.118038',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 27,\n",
       "         'polyline': '113.336259,23.118038;113.336519,23.118016',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 176,\n",
       "         'polyline': '113.336519,23.118016;113.338238,23.117843',\n",
       "         'status': '畅通'}],\n",
       "       'toll_distance': 0,\n",
       "       'toll_road': '',\n",
       "       'tolls': 0},\n",
       "      {'action': '右转',\n",
       "       'assistant_action': '',\n",
       "       'cities': [{'adcode': '440106',\n",
       "         'citycode': None,\n",
       "         'districts': [],\n",
       "         'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None}],\n",
       "       'distance': 183,\n",
       "       'duration': 41,\n",
       "       'instruction': '沿海清路向南行驶183米右转',\n",
       "       'orientation': '南',\n",
       "       'polyline': '113.338238,23.117843;113.33832,23.11776;113.338372,23.117669;113.338407,23.117222;113.33842,23.116228',\n",
       "       'road': '海清路',\n",
       "       'tmcs': [{'distance': 73,\n",
       "         'polyline': '113.338238,23.117843;113.33832,23.11776;113.338372,23.117669;113.338407,23.117222',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 110,\n",
       "         'polyline': '113.338407,23.117222;113.33842,23.116228',\n",
       "         'status': '畅通'}],\n",
       "       'toll_distance': 0,\n",
       "       'toll_road': '',\n",
       "       'tolls': 0},\n",
       "      {'action': '左转',\n",
       "       'assistant_action': '',\n",
       "       'cities': [{'adcode': '440106',\n",
       "         'citycode': None,\n",
       "         'districts': [],\n",
       "         'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None}],\n",
       "       'distance': 204,\n",
       "       'duration': 44,\n",
       "       'instruction': '沿海明路向西行驶204米左转',\n",
       "       'orientation': '西',\n",
       "       'polyline': '113.33842,23.116228;113.337977,23.116315;113.337426,23.116441;113.337014,23.116523;113.33645,23.116632;113.336306,23.116632',\n",
       "       'road': '海明路',\n",
       "       'tmcs': [{'distance': 45,\n",
       "         'polyline': '113.33842,23.116228;113.337977,23.116315',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 58,\n",
       "         'polyline': '113.337977,23.116315;113.337426,23.116441',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 43,\n",
       "         'polyline': '113.337426,23.116441;113.337014,23.116523',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 58,\n",
       "         'polyline': '113.337014,23.116523;113.33645,23.116632;113.336306,23.116632',\n",
       "         'status': '畅通'}],\n",
       "       'toll_distance': 0,\n",
       "       'toll_road': '',\n",
       "       'tolls': 0},\n",
       "      {'action': '右转',\n",
       "       'assistant_action': '',\n",
       "       'cities': [{'adcode': '440106',\n",
       "         'citycode': None,\n",
       "         'districts': [],\n",
       "         'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None}],\n",
       "       'distance': 343,\n",
       "       'duration': 113,\n",
       "       'instruction': '沿海文路向南行驶343米右转',\n",
       "       'orientation': '南',\n",
       "       'polyline': '113.336306,23.116632;113.336319,23.116111;113.336359,23.11559;113.336372,23.115234;113.33638,23.114674;113.336393,23.114306;113.336398,23.114045;113.336419,23.113516',\n",
       "       'road': '海文路',\n",
       "       'tmcs': [{'distance': 57,\n",
       "         'polyline': '113.336306,23.116632;113.336319,23.116111',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 57,\n",
       "         'polyline': '113.336319,23.116111;113.336359,23.11559',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 101,\n",
       "         'polyline': '113.336359,23.11559;113.336372,23.115234;113.33638,23.114674',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 41,\n",
       "         'polyline': '113.33638,23.114674;113.336393,23.114306',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 28,\n",
       "         'polyline': '113.336393,23.114306;113.336398,23.114045',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 59,\n",
       "         'polyline': '113.336398,23.114045;113.336419,23.113516',\n",
       "         'status': '畅通'}],\n",
       "       'toll_distance': 0,\n",
       "       'toll_road': '',\n",
       "       'tolls': 0},\n",
       "      {'action': '左转',\n",
       "       'assistant_action': '',\n",
       "       'cities': [{'adcode': '440106',\n",
       "         'citycode': None,\n",
       "         'districts': [],\n",
       "         'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None}],\n",
       "       'distance': 17,\n",
       "       'duration': 14,\n",
       "       'instruction': '向西行驶17米左转',\n",
       "       'orientation': '西',\n",
       "       'polyline': '113.336419,23.113516;113.336319,23.113555;113.336259,23.113581',\n",
       "       'road': None,\n",
       "       'tmcs': [{'distance': 10,\n",
       "         'polyline': '113.336419,23.113516;113.336319,23.113555',\n",
       "         'status': '未知'},\n",
       "        {'distance': 7,\n",
       "         'polyline': '113.336319,23.113555;113.336259,23.113581',\n",
       "         'status': '未知'}],\n",
       "       'toll_distance': 0,\n",
       "       'toll_road': '',\n",
       "       'tolls': 0},\n",
       "      {'action': '',\n",
       "       'assistant_action': '到达目的地',\n",
       "       'cities': [{'adcode': '440106',\n",
       "         'citycode': None,\n",
       "         'districts': [],\n",
       "         'name': None}],\n",
       "       'distance': 22,\n",
       "       'duration': 16,\n",
       "       'instruction': '向南行驶22米到达目的地',\n",
       "       'orientation': '南',\n",
       "       'polyline': '113.336259,23.113581;113.336215,23.11339',\n",
       "       'road': None,\n",
       "       'tmcs': [{'distance': 22,\n",
       "         'polyline': '113.336259,23.113581;113.336215,23.11339',\n",
       "         'status': '未知'}],\n",
       "       'toll_distance': 0,\n",
       "       'toll_road': '',\n",
       "       'tolls': 0}],\n",
       "     'strategy': '避免拥堵',\n",
       "     'toll_distance': 1992,\n",
       "     'tolls': 2,\n",
       "     'traffic_lights': 7},\n",
       "    {'distance': 3830,\n",
       "     'duration': 917,\n",
       "     'restriction': 0,\n",
       "     'steps': [{'action': '向右前方行驶',\n",
       "       'assistant_action': '进入匝道',\n",
       "       'cities': [{'adcode': '440106',\n",
       "         'citycode': None,\n",
       "         'districts': [],\n",
       "         'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None}],\n",
       "       'distance': 444,\n",
       "       'duration': 25,\n",
       "       'instruction': '沿中山立交桥途径S4华南快速向南行驶444米向右前方行驶进入匝道',\n",
       "       'orientation': '南',\n",
       "       'polyline': '113.351137,23.131597;113.351233,23.130924;113.351289,23.130677;113.351315,23.130616;113.351406,23.130503;113.351515,23.129436;113.35158,23.128824;113.351641,23.12829;113.351701,23.127635',\n",
       "       'road': '中山立交桥',\n",
       "       'tmcs': [{'distance': 126,\n",
       "         'polyline': '113.351137,23.131597;113.351233,23.130924;113.351289,23.130677;113.351315,23.130616;113.351406,23.130503',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 186,\n",
       "         'polyline': '113.351406,23.130503;113.351515,23.129436;113.35158,23.128824',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 132,\n",
       "         'polyline': '113.35158,23.128824;113.351641,23.12829;113.351701,23.127635',\n",
       "         'status': '畅通'}],\n",
       "       'toll_distance': 444,\n",
       "       'toll_road': '中山立交桥',\n",
       "       'tolls': 0},\n",
       "      {'action': '减速行驶',\n",
       "       'assistant_action': '到达收费站',\n",
       "       'cities': [{'adcode': '440106',\n",
       "         'citycode': None,\n",
       "         'districts': [],\n",
       "         'name': None}],\n",
       "       'distance': 236,\n",
       "       'duration': 121,\n",
       "       'instruction': '沿黄埔立交桥向南行驶236米减速行驶到达收费站',\n",
       "       'orientation': '南',\n",
       "       'polyline': '113.351701,23.127635;113.351654,23.127582;113.351632,23.127543;113.351615,23.127409;113.351615,23.127092;113.351654,23.126359;113.351658,23.12622;113.351654,23.126124;113.351619,23.125959;113.351593,23.125877;113.351541,23.12579;113.351337,23.125625',\n",
       "       'road': '黄埔立交桥',\n",
       "       'tmcs': [{'distance': 236,\n",
       "         'polyline': '113.351701,23.127635;113.351654,23.127582;113.351632,23.127543;113.351615,23.127409;113.351615,23.127092;113.351654,23.126359;113.351658,23.12622;113.351654,23.126124;113.351619,23.125959;113.351593,23.125877;113.351541,23.12579;113.351337,23.125625',\n",
       "         'status': '畅通'}],\n",
       "       'toll_distance': 236,\n",
       "       'toll_road': '黄埔立交桥',\n",
       "       'tolls': 0},\n",
       "      {'action': '向右前方行驶',\n",
       "       'assistant_action': '进入辅路',\n",
       "       'cities': [{'adcode': '440106',\n",
       "         'citycode': None,\n",
       "         'districts': [],\n",
       "         'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None}],\n",
       "       'distance': 512,\n",
       "       'duration': 68,\n",
       "       'instruction': '沿黄埔立交桥途径黄埔大道西向西行驶512米向右前方行驶进入辅路',\n",
       "       'orientation': '西',\n",
       "       'polyline': '113.351337,23.125625;113.35105,23.125386;113.350425,23.125521;113.348694,23.12582;113.348134,23.125937;113.347726,23.125981;113.347296,23.126011;113.34648,23.126068',\n",
       "       'road': '黄埔立交桥',\n",
       "       'tmcs': [{'distance': 39,\n",
       "         'polyline': '113.351337,23.125625;113.35105,23.125386',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 65,\n",
       "         'polyline': '113.35105,23.125386;113.350425,23.125521',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 239,\n",
       "         'polyline': '113.350425,23.125521;113.348694,23.12582;113.348134,23.125937',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 42,\n",
       "         'polyline': '113.348134,23.125937;113.347726,23.125981',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 44,\n",
       "         'polyline': '113.347726,23.125981;113.347296,23.126011',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 83,\n",
       "         'polyline': '113.347296,23.126011;113.34648,23.126068',\n",
       "         'status': '畅通'}],\n",
       "       'toll_distance': 0,\n",
       "       'toll_road': '',\n",
       "       'tolls': 0},\n",
       "      {'action': '左转',\n",
       "       'assistant_action': '',\n",
       "       'cities': [{'adcode': '440106',\n",
       "         'citycode': None,\n",
       "         'districts': [],\n",
       "         'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None}],\n",
       "       'distance': 312,\n",
       "       'duration': 162,\n",
       "       'instruction': '沿黄埔大道西向西行驶312米左转',\n",
       "       'orientation': '西',\n",
       "       'polyline': '113.34648,23.126068;113.346233,23.126198;113.345881,23.12622;113.345616,23.126233;113.344692,23.126293;113.344036,23.126341;113.343958,23.126345;113.34388,23.126354;113.343672,23.126376;113.343459,23.126389;113.343368,23.126029',\n",
       "       'road': '黄埔大道西',\n",
       "       'tmcs': [{'distance': 29,\n",
       "         'polyline': '113.34648,23.126068;113.346233,23.126198',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 63,\n",
       "         'polyline': '113.346233,23.126198;113.345881,23.12622;113.345616,23.126233',\n",
       "         'status': '拥堵'},\n",
       "        {'distance': 95,\n",
       "         'polyline': '113.345616,23.126233;113.344692,23.126293',\n",
       "         'status': '拥堵'},\n",
       "        {'distance': 67,\n",
       "         'polyline': '113.344692,23.126293;113.344036,23.126341',\n",
       "         'status': '拥堵'},\n",
       "        {'distance': 15,\n",
       "         'polyline': '113.344036,23.126341;113.343958,23.126345;113.34388,23.126354',\n",
       "         'status': '拥堵'},\n",
       "        {'distance': 43,\n",
       "         'polyline': '113.34388,23.126354;113.343672,23.126376;113.343459,23.126389;113.343368,23.126029',\n",
       "         'status': '拥堵'}],\n",
       "       'toll_distance': 0,\n",
       "       'toll_road': '',\n",
       "       'tolls': 0},\n",
       "      {'action': '向右前方行驶',\n",
       "       'assistant_action': '进入右转专用道',\n",
       "       'cities': [{'adcode': '440106',\n",
       "         'citycode': None,\n",
       "         'districts': [],\n",
       "         'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None}],\n",
       "       'distance': 1460,\n",
       "       'duration': 324,\n",
       "       'instruction': '沿马场路向南行驶1.5千米向右前方行驶进入右转专用道',\n",
       "       'orientation': '南',\n",
       "       'polyline': '113.343368,23.126029;113.343355,23.125135;113.343342,23.124197;113.343338,23.12395;113.343333,23.123472;113.34332,23.122457;113.343329,23.122135;113.34332,23.121875;113.343338,23.121558;113.343338,23.121319;113.343338,23.120838;113.343312,23.119479;113.343312,23.119375;113.343299,23.118615;113.343294,23.118424;113.343277,23.118021;113.343277,23.1177;113.343268,23.117422;113.343264,23.117179;113.343268,23.11701;113.34326,23.11599;113.343242,23.115234;113.343229,23.114661;113.343216,23.113763;113.343203,23.113307;113.343194,23.112205',\n",
       "       'road': '马场路',\n",
       "       'tmcs': [{'distance': 98,\n",
       "         'polyline': '113.343368,23.126029;113.343355,23.125135',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 104,\n",
       "         'polyline': '113.343355,23.125135;113.343342,23.124197',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 27,\n",
       "         'polyline': '113.343342,23.124197;113.343338,23.12395',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 52,\n",
       "         'polyline': '113.343338,23.12395;113.343333,23.123472',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 112,\n",
       "         'polyline': '113.343333,23.123472;113.34332,23.122457',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 35,\n",
       "         'polyline': '113.34332,23.122457;113.343329,23.122135;113.34332,23.121875',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 35,\n",
       "         'polyline': '113.34332,23.121875;113.343338,23.121558',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 25,\n",
       "         'polyline': '113.343338,23.121558;113.343338,23.121319',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 53,\n",
       "         'polyline': '113.343338,23.121319;113.343338,23.120838',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 150,\n",
       "         'polyline': '113.343338,23.120838;113.343312,23.119479',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 11,\n",
       "         'polyline': '113.343312,23.119479;113.343312,23.119375',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 83,\n",
       "         'polyline': '113.343312,23.119375;113.343299,23.118615',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 21,\n",
       "         'polyline': '113.343299,23.118615;113.343294,23.118424',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 44,\n",
       "         'polyline': '113.343294,23.118424;113.343277,23.118021',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 35,\n",
       "         'polyline': '113.343277,23.118021;113.343277,23.1177;113.343268,23.117422',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 27,\n",
       "         'polyline': '113.343268,23.117422;113.343264,23.117179',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 18,\n",
       "         'polyline': '113.343264,23.117179;113.343268,23.11701',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 112,\n",
       "         'polyline': '113.343268,23.11701;113.34326,23.11599',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 146,\n",
       "         'polyline': '113.34326,23.11599;113.343242,23.115234;113.343229,23.114661',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 100,\n",
       "         'polyline': '113.343229,23.114661;113.343216,23.113763',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 50,\n",
       "         'polyline': '113.343216,23.113763;113.343203,23.113307',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 122,\n",
       "         'polyline': '113.343203,23.113307;113.343194,23.112205',\n",
       "         'status': '畅通'}],\n",
       "       'toll_distance': 0,\n",
       "       'toll_road': '',\n",
       "       'tolls': 0},\n",
       "      {'action': '右转',\n",
       "       'assistant_action': '',\n",
       "       'cities': [{'adcode': '440106',\n",
       "         'citycode': None,\n",
       "         'districts': [],\n",
       "         'name': None}],\n",
       "       'distance': 61,\n",
       "       'duration': 16,\n",
       "       'instruction': '沿临江大道向西南行驶61米右转',\n",
       "       'orientation': '西南',\n",
       "       'polyline': '113.343194,23.112205;113.343138,23.112062;113.343108,23.112014;113.343047,23.11197;113.34276,23.111927',\n",
       "       'road': '临江大道',\n",
       "       'tmcs': [{'distance': 61,\n",
       "         'polyline': '113.343194,23.112205;113.343138,23.112062;113.343108,23.112014;113.343047,23.11197;113.34276,23.111927',\n",
       "         'status': '畅通'}],\n",
       "       'toll_distance': 0,\n",
       "       'toll_road': '',\n",
       "       'tolls': 0},\n",
       "      {'action': '右转',\n",
       "       'assistant_action': '',\n",
       "       'cities': [{'adcode': '440106',\n",
       "         'citycode': None,\n",
       "         'districts': [],\n",
       "         'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None}],\n",
       "       'distance': 548,\n",
       "       'duration': 71,\n",
       "       'instruction': '沿临江大道向西行驶548米右转',\n",
       "       'orientation': '西',\n",
       "       'polyline': '113.34276,23.111927;113.342504,23.11197;113.342066,23.112031;113.341137,23.11217;113.340677,23.112227;113.338741,23.11247;113.338372,23.112513;113.337969,23.112561;113.336602,23.112734',\n",
       "       'road': '临江大道',\n",
       "       'tmcs': [{'distance': 26,\n",
       "         'polyline': '113.34276,23.111927;113.342504,23.11197',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 45,\n",
       "         'polyline': '113.342504,23.11197;113.342066,23.112031',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 96,\n",
       "         'polyline': '113.342066,23.112031;113.341137,23.11217;113.340677,23.112227',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 199,\n",
       "         'polyline': '113.340677,23.112227;113.338741,23.11247;113.338372,23.112513',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 41,\n",
       "         'polyline': '113.338372,23.112513;113.337969,23.112561',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 141,\n",
       "         'polyline': '113.337969,23.112561;113.336602,23.112734',\n",
       "         'status': '畅通'}],\n",
       "       'toll_distance': 0,\n",
       "       'toll_road': '',\n",
       "       'tolls': 0},\n",
       "      {'action': '左转调头',\n",
       "       'assistant_action': '',\n",
       "       'cities': [{'adcode': '440106',\n",
       "         'citycode': None,\n",
       "         'districts': [],\n",
       "         'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None}],\n",
       "       'distance': 145,\n",
       "       'duration': 81,\n",
       "       'instruction': '沿海文路向北行驶145米左转调头',\n",
       "       'orientation': '北',\n",
       "       'polyline': '113.336602,23.112734;113.33658,23.113177;113.336558,23.113511;113.336532,23.114054',\n",
       "       'road': '海文路',\n",
       "       'tmcs': [{'distance': 49,\n",
       "         'polyline': '113.336602,23.112734;113.33658,23.113177',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 37,\n",
       "         'polyline': '113.33658,23.113177;113.336558,23.113511',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 59,\n",
       "         'polyline': '113.336558,23.113511;113.336532,23.114054',\n",
       "         'status': '畅通'}],\n",
       "       'toll_distance': 0,\n",
       "       'toll_road': '',\n",
       "       'tolls': 0},\n",
       "      {'action': '右转',\n",
       "       'assistant_action': '',\n",
       "       'cities': [{'adcode': '440106',\n",
       "         'citycode': None,\n",
       "         'districts': [],\n",
       "         'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None}],\n",
       "       'distance': 73,\n",
       "       'duration': 19,\n",
       "       'instruction': '沿海文路向南行驶73米右转',\n",
       "       'orientation': '南',\n",
       "       'polyline': '113.336532,23.114054;113.336463,23.114067;113.336398,23.114045;113.336419,23.113516',\n",
       "       'road': '海文路',\n",
       "       'tmcs': [{'distance': 14,\n",
       "         'polyline': '113.336532,23.114054;113.336463,23.114067;113.336398,23.114045',\n",
       "         'status': '畅通'},\n",
       "        {'distance': 59,\n",
       "         'polyline': '113.336398,23.114045;113.336419,23.113516',\n",
       "         'status': '畅通'}],\n",
       "       'toll_distance': 0,\n",
       "       'toll_road': '',\n",
       "       'tolls': 0},\n",
       "      {'action': '左转',\n",
       "       'assistant_action': '',\n",
       "       'cities': [{'adcode': '440106',\n",
       "         'citycode': None,\n",
       "         'districts': [],\n",
       "         'name': None},\n",
       "        {'adcode': '440106', 'citycode': None, 'districts': [], 'name': None}],\n",
       "       'distance': 17,\n",
       "       'duration': 14,\n",
       "       'instruction': '向西行驶17米左转',\n",
       "       'orientation': '西',\n",
       "       'polyline': '113.336419,23.113516;113.336319,23.113555;113.336259,23.113581',\n",
       "       'road': None,\n",
       "       'tmcs': [{'distance': 10,\n",
       "         'polyline': '113.336419,23.113516;113.336319,23.113555',\n",
       "         'status': '未知'},\n",
       "        {'distance': 7,\n",
       "         'polyline': '113.336319,23.113555;113.336259,23.113581',\n",
       "         'status': '未知'}],\n",
       "       'toll_distance': 0,\n",
       "       'toll_road': '',\n",
       "       'tolls': 0},\n",
       "      {'action': '',\n",
       "       'assistant_action': '到达目的地',\n",
       "       'cities': [{'adcode': '440106',\n",
       "         'citycode': None,\n",
       "         'districts': [],\n",
       "         'name': None}],\n",
       "       'distance': 22,\n",
       "       'duration': 16,\n",
       "       'instruction': '向南行驶22米到达目的地',\n",
       "       'orientation': '南',\n",
       "       'polyline': '113.336259,23.113581;113.336215,23.11339',\n",
       "       'road': None,\n",
       "       'tmcs': [{'distance': 22,\n",
       "         'polyline': '113.336259,23.113581;113.336215,23.11339',\n",
       "         'status': '未知'}],\n",
       "       'toll_distance': 0,\n",
       "       'toll_road': '',\n",
       "       'tolls': 0}],\n",
       "     'strategy': '避免拥堵',\n",
       "     'toll_distance': 680,\n",
       "     'tolls': 1,\n",
       "     'traffic_lights': 8}]},\n",
       "  'count': 3},\n",
       " 'errcode': 0,\n",
       " 'errdetail': None,\n",
       " 'errmsg': 'OK',\n",
       " 'ext': None}"
      ]
     },
     "execution_count": 283,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "e = truck(huang_key,origin,destination,size=3)\n",
    "e"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 行政区域查询\n",
    "\n",
    "> * 1、行政区域查询是一类简单的HTTP接口，根据用户输入的搜索条件可以帮助用户快速的查找特定的行政区域信息。    \n",
    "> * 2、url:https://restapi.amap.com/v3/config/district?parameters      \n",
    "> * 3、requests.get() \n",
    "> * 4、适用场景：用户希望通过得到行政区域信息，进行开发工作。\n",
    "> * 5、参数：   \n",
    "\n",
    ">> * A.必选：key（高德API秘钥）\n",
    ">> * B.可选：keywords（查询关键字），subdistrict（子级行政区，缺省值：1），page（需要第几页数据，缺省值：1），offset（最外层返回数据个数，缺省值：20），extensions（返回结果控制，默认值：base），filter（根据区划过滤），output（返回数据格式类型，缺省值：JSON），callback（回调函数）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 284,
   "metadata": {},
   "outputs": [],
   "source": [
    "def district(key,keywords=None,subdistrict=1,page=1,offset=20,extensions=\"base\",filter=None,output=\"JSON\",callback=None):\n",
    "    district_url = \"https://restapi.amap.com/v3/config/district?parameters\"\n",
    "    params = {\n",
    "        \"key\":key,\n",
    "        \"keywords\":keywords,\n",
    "        \"subdistrict\":subdistrict,\n",
    "        \"page\":page,\n",
    "        \"offset\":offset,\n",
    "        \"extensions\":extensions,\n",
    "        \"filter\":filter,\n",
    "        \"output\":output,\n",
    "        \"callback\":callback\n",
    "    }\n",
    "    \n",
    "    r = requests.get(district_url,params=params)\n",
    "    result = r.json()\n",
    "    return result"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 285,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'status': '1',\n",
       " 'info': 'OK',\n",
       " 'infocode': '10000',\n",
       " 'count': '1',\n",
       " 'suggestion': {'keywords': [], 'cities': []},\n",
       " 'districts': [{'citycode': [],\n",
       "   'adcode': '440000',\n",
       "   'name': '广东省',\n",
       "   'center': '113.280637,23.125178',\n",
       "   'level': 'province',\n",
       "   'districts': [{'citycode': '0754',\n",
       "     'adcode': '440500',\n",
       "     'name': '汕头市',\n",
       "     'center': '116.708463,23.37102',\n",
       "     'level': 'city',\n",
       "     'districts': []},\n",
       "    {'citycode': '0757',\n",
       "     'adcode': '440600',\n",
       "     'name': '佛山市',\n",
       "     'center': '113.122717,23.028762',\n",
       "     'level': 'city',\n",
       "     'districts': []},\n",
       "    {'citycode': '0758',\n",
       "     'adcode': '441200',\n",
       "     'name': '肇庆市',\n",
       "     'center': '112.472529,23.051546',\n",
       "     'level': 'city',\n",
       "     'districts': []},\n",
       "    {'citycode': '0752',\n",
       "     'adcode': '441300',\n",
       "     'name': '惠州市',\n",
       "     'center': '114.412599,23.079404',\n",
       "     'level': 'city',\n",
       "     'districts': []},\n",
       "    {'citycode': '0755',\n",
       "     'adcode': '440300',\n",
       "     'name': '深圳市',\n",
       "     'center': '114.085947,22.547',\n",
       "     'level': 'city',\n",
       "     'districts': []},\n",
       "    {'citycode': '0759',\n",
       "     'adcode': '440800',\n",
       "     'name': '湛江市',\n",
       "     'center': '110.364977,21.274898',\n",
       "     'level': 'city',\n",
       "     'districts': []},\n",
       "    {'citycode': '0756',\n",
       "     'adcode': '440400',\n",
       "     'name': '珠海市',\n",
       "     'center': '113.553986,22.224979',\n",
       "     'level': 'city',\n",
       "     'districts': []},\n",
       "    {'citycode': '0768',\n",
       "     'adcode': '445100',\n",
       "     'name': '潮州市',\n",
       "     'center': '116.632301,23.661701',\n",
       "     'level': 'city',\n",
       "     'districts': []},\n",
       "    {'citycode': '0668',\n",
       "     'adcode': '440900',\n",
       "     'name': '茂名市',\n",
       "     'center': '110.919229,21.659751',\n",
       "     'level': 'city',\n",
       "     'districts': []},\n",
       "    {'citycode': '0750',\n",
       "     'adcode': '440700',\n",
       "     'name': '江门市',\n",
       "     'center': '113.094942,22.590431',\n",
       "     'level': 'city',\n",
       "     'districts': []},\n",
       "    {'citycode': '0762',\n",
       "     'adcode': '441600',\n",
       "     'name': '河源市',\n",
       "     'center': '114.697802,23.746266',\n",
       "     'level': 'city',\n",
       "     'districts': []},\n",
       "    {'citycode': '0766',\n",
       "     'adcode': '445300',\n",
       "     'name': '云浮市',\n",
       "     'center': '112.044439,22.929801',\n",
       "     'level': 'city',\n",
       "     'districts': []},\n",
       "    {'citycode': '0660',\n",
       "     'adcode': '441500',\n",
       "     'name': '汕尾市',\n",
       "     'center': '115.364238,22.774485',\n",
       "     'level': 'city',\n",
       "     'districts': []},\n",
       "    {'citycode': '0662',\n",
       "     'adcode': '441700',\n",
       "     'name': '阳江市',\n",
       "     'center': '111.975107,21.859222',\n",
       "     'level': 'city',\n",
       "     'districts': []},\n",
       "    {'citycode': '0663',\n",
       "     'adcode': '445200',\n",
       "     'name': '揭阳市',\n",
       "     'center': '116.355733,23.543778',\n",
       "     'level': 'city',\n",
       "     'districts': []},\n",
       "    {'citycode': '0753',\n",
       "     'adcode': '441400',\n",
       "     'name': '梅州市',\n",
       "     'center': '116.117582,24.299112',\n",
       "     'level': 'city',\n",
       "     'districts': []},\n",
       "    {'citycode': '020',\n",
       "     'adcode': '440100',\n",
       "     'name': '广州市',\n",
       "     'center': '113.280637,23.125178',\n",
       "     'level': 'city',\n",
       "     'districts': []},\n",
       "    {'citycode': '0751',\n",
       "     'adcode': '440200',\n",
       "     'name': '韶关市',\n",
       "     'center': '113.591544,24.801322',\n",
       "     'level': 'city',\n",
       "     'districts': []},\n",
       "    {'citycode': '0763',\n",
       "     'adcode': '441800',\n",
       "     'name': '清远市',\n",
       "     'center': '113.051227,23.685022',\n",
       "     'level': 'city',\n",
       "     'districts': []},\n",
       "    {'citycode': '0760',\n",
       "     'adcode': '442000',\n",
       "     'name': '中山市',\n",
       "     'center': '113.382391,22.521113',\n",
       "     'level': 'city',\n",
       "     'districts': []},\n",
       "    {'citycode': '0769',\n",
       "     'adcode': '441900',\n",
       "     'name': '东莞市',\n",
       "     'center': '113.746262,23.046237',\n",
       "     'level': 'city',\n",
       "     'districts': []}]}]}"
      ]
     },
     "execution_count": 285,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "f = district(huang_key,keywords=\"广东\",subdistrict=1)\n",
    "f"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 搜索POI\n",
    "\n",
    "> * 1、关键字搜索\n",
    "> * 2、周边搜索\n",
    "> * 3、多边形搜索\n",
    "> * 4、ID查询"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 关键字搜索 \n",
    "\n",
    "> * 1、url:https://restapi.amap.com/v3/place/text?parameters    \n",
    "> * 2、requests.get()\n",
    "> * 3、适用场景：通过用POI的关键字进行条件搜索，例如：肯德基、朝阳公园等；同时支持设置POI类型搜索，例如：银行。\n",
    "> * 4、参数：\n",
    "\n",
    ">> * A.必选：key，keyword（查询关键字），types（查询POI类型），(keywords和types两者至少必选其一)\n",
    ">> * B.可选：city（查询城市），citylimit（仅返回指定城市数据，缺省值：false），children（是否按照层级展示子POI数据，缺省值：0），offset（每页记录数据，缺省值：20），page（当前页数，缺省值：1），extensions（返回结果控制，默认值：base），sig（数字签名），output（返回数据格式类型，缺省值：JSON），callback（回调函数）\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 286,
   "metadata": {},
   "outputs": [],
   "source": [
    "def text(key,keywords=None,types=None,city=None,citylimit=\"false\",children=0,offset=20,page=1,extensions=\"base\",sig=None,output=\"JSON\",callback=None):\n",
    "    text_url = \"https://restapi.amap.com/v3/place/text?parameters\"\n",
    "    params = {\n",
    "        \"key\":key,\n",
    "        \"keywords\":keywords,\n",
    "        \"types\":types,\n",
    "        \"city\":city,\n",
    "        \"citylimit\":citylimit,\n",
    "        \"children\":children,\n",
    "        \"offset\":offset,\n",
    "        \"page\":page,\n",
    "        \"extensions\":extensions,\n",
    "        \"sig\":sig,\n",
    "        \"output\":output,\n",
    "        \"callback\":callback\n",
    "    }\n",
    "    \n",
    "    r = requests.get(text_url,params=params)\n",
    "    result = r.json()\n",
    "    return result"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 287,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'suggestion': {'keywords': [], 'cities': []},\n",
       " 'count': '896',\n",
       " 'infocode': '10000',\n",
       " 'pois': [{'parent': [],\n",
       "   'address': '东川路92号(近东华东路)东川新街市二楼,烈士陵园B3出口',\n",
       "   'distance': [],\n",
       "   'biz_ext': [],\n",
       "   'pname': '广东省',\n",
       "   'importance': [],\n",
       "   'biz_type': 'diner',\n",
       "   'cityname': '广州市',\n",
       "   'type': '餐饮服务;中餐厅;综合酒楼',\n",
       "   'photos': [],\n",
       "   'typecode': '050101',\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'childtype': [],\n",
       "   'adname': '越秀区',\n",
       "   'name': '东川酒家(东川路店)',\n",
       "   'location': '113.286581,23.123517',\n",
       "   'tel': '18027308255;020-83883452;020-83833080',\n",
       "   'shopid': [],\n",
       "   'id': 'B001402AE9'},\n",
       "  {'parent': [],\n",
       "   'address': '白云路22号8号公馆2层(近嘉星广场)',\n",
       "   'distance': [],\n",
       "   'biz_ext': [],\n",
       "   'pname': '广东省',\n",
       "   'importance': [],\n",
       "   'biz_type': 'diner',\n",
       "   'cityname': '广州市',\n",
       "   'type': '餐饮服务;中餐厅;火锅店',\n",
       "   'photos': [],\n",
       "   'typecode': '050117',\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'childtype': [],\n",
       "   'adname': '越秀区',\n",
       "   'name': '稻香(万斯店)',\n",
       "   'location': '113.282542,23.117798',\n",
       "   'tel': '020-83650118;020-83650128',\n",
       "   'shopid': [],\n",
       "   'id': 'B00140T61P'},\n",
       "  {'parent': 'B00140BOXP',\n",
       "   'address': '地王广场B1层烈士陵园地铁A出口',\n",
       "   'distance': [],\n",
       "   'biz_ext': [],\n",
       "   'pname': '广东省',\n",
       "   'importance': [],\n",
       "   'biz_type': 'diner',\n",
       "   'cityname': '广州市',\n",
       "   'type': '餐饮服务;中餐厅;中餐厅',\n",
       "   'photos': [],\n",
       "   'typecode': '050100',\n",
       "   'shopinfo': '1',\n",
       "   'poiweight': [],\n",
       "   'childtype': '202',\n",
       "   'adname': '越秀区',\n",
       "   'name': '木屋烧烤(越秀地王广场店)',\n",
       "   'location': '113.284632,23.125906',\n",
       "   'tel': '020-83028839',\n",
       "   'shopid': [],\n",
       "   'id': 'B0FFI9RK5B'},\n",
       "  {'parent': 'B00140U0SG',\n",
       "   'address': '中山三路33号中华广场6楼6048室',\n",
       "   'distance': [],\n",
       "   'biz_ext': [],\n",
       "   'pname': '广东省',\n",
       "   'importance': [],\n",
       "   'biz_type': 'diner',\n",
       "   'cityname': '广州市',\n",
       "   'type': '餐饮服务;中餐厅;火锅店',\n",
       "   'photos': [],\n",
       "   'typecode': '050117',\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'childtype': '201',\n",
       "   'adname': '越秀区',\n",
       "   'name': '野妹火锅(中华广场店)',\n",
       "   'location': '113.282793,23.125393',\n",
       "   'tel': '020-83701819',\n",
       "   'shopid': [],\n",
       "   'id': 'B0FFI6Z57E'},\n",
       "  {'parent': 'B00140I1A9',\n",
       "   'address': '中山三路36号威力达大厦3层',\n",
       "   'distance': [],\n",
       "   'biz_ext': [],\n",
       "   'pname': '广东省',\n",
       "   'importance': [],\n",
       "   'biz_type': 'diner',\n",
       "   'cityname': '广州市',\n",
       "   'type': '餐饮服务;中餐厅;中餐厅',\n",
       "   'photos': [],\n",
       "   'typecode': '050100',\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'childtype': '202',\n",
       "   'adname': '越秀区',\n",
       "   'name': '一品柠檬鱼(中山三路店)',\n",
       "   'location': '113.281958,23.127184',\n",
       "   'tel': '020-83765803;18688886163;18102228070',\n",
       "   'shopid': [],\n",
       "   'id': 'B00140SDNV'},\n",
       "  {'parent': [],\n",
       "   'address': '文明路160号-1号',\n",
       "   'distance': [],\n",
       "   'biz_ext': [],\n",
       "   'pname': '广东省',\n",
       "   'importance': [],\n",
       "   'biz_type': 'diner',\n",
       "   'cityname': '广州市',\n",
       "   'type': '餐饮服务;中餐厅;中餐厅',\n",
       "   'photos': [],\n",
       "   'typecode': '050100',\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'childtype': [],\n",
       "   'adname': '越秀区',\n",
       "   'name': '达扬原味炖品',\n",
       "   'location': '113.274128,23.122562',\n",
       "   'tel': '020-83327931',\n",
       "   'shopid': [],\n",
       "   'id': 'B00140OQ76'},\n",
       "  {'parent': 'B00140U0SG',\n",
       "   'address': '中山三路33号首层自编L1202,1508-10铺(苏豪发廊对面)',\n",
       "   'distance': [],\n",
       "   'biz_ext': [],\n",
       "   'pname': '广东省',\n",
       "   'importance': [],\n",
       "   'biz_type': 'diner',\n",
       "   'cityname': '广州市',\n",
       "   'type': '餐饮服务;快餐厅;必胜客',\n",
       "   'photos': [],\n",
       "   'typecode': '050303',\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'childtype': '201',\n",
       "   'adname': '越秀区',\n",
       "   'name': '必胜客(中华广场店)',\n",
       "   'location': '113.282115,23.125892',\n",
       "   'tel': '020-83641017;4009701890',\n",
       "   'shopid': [],\n",
       "   'id': 'B00141JVQD'},\n",
       "  {'parent': [],\n",
       "   'address': '德政北路409号(近广州图书馆)',\n",
       "   'distance': [],\n",
       "   'biz_ext': [],\n",
       "   'pname': '广东省',\n",
       "   'importance': [],\n",
       "   'biz_type': 'diner',\n",
       "   'cityname': '广州市',\n",
       "   'type': '餐饮服务;中餐厅;中餐厅',\n",
       "   'photos': [],\n",
       "   'typecode': '050100',\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'childtype': [],\n",
       "   'adname': '越秀区',\n",
       "   'name': '食为先酒家(德政店)',\n",
       "   'location': '113.274612,23.128561',\n",
       "   'tel': '020-83636926;020-83372151',\n",
       "   'shopid': [],\n",
       "   'id': 'B00140TZWD'},\n",
       "  {'parent': [],\n",
       "   'address': '文明路230号',\n",
       "   'distance': [],\n",
       "   'biz_ext': [],\n",
       "   'pname': '广东省',\n",
       "   'importance': [],\n",
       "   'biz_type': 'diner',\n",
       "   'cityname': '广州市',\n",
       "   'type': '餐饮服务;中餐厅;中餐厅',\n",
       "   'photos': [],\n",
       "   'typecode': '050100',\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'childtype': [],\n",
       "   'adname': '越秀区',\n",
       "   'name': '百岁牛家',\n",
       "   'location': '113.276074,23.122576',\n",
       "   'tel': '020-83300708',\n",
       "   'shopid': [],\n",
       "   'id': 'B0FFHUM217'},\n",
       "  {'parent': [],\n",
       "   'address': '较场西路16号之而原综合楼西南角2层,3层(麦当劳南侧)',\n",
       "   'distance': [],\n",
       "   'biz_ext': [],\n",
       "   'pname': '广东省',\n",
       "   'importance': [],\n",
       "   'biz_type': 'diner',\n",
       "   'cityname': '广州市',\n",
       "   'type': '餐饮服务;外国餐厅;西餐厅(综合风味)',\n",
       "   'photos': [],\n",
       "   'typecode': '050201',\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'childtype': [],\n",
       "   'adname': '越秀区',\n",
       "   'name': '卡朋西餐馆',\n",
       "   'location': '113.283377,23.123732',\n",
       "   'tel': '020-83813235',\n",
       "   'shopid': [],\n",
       "   'id': 'B00141K2HX'},\n",
       "  {'parent': [],\n",
       "   'address': '中山三路25-27号流行前线商场B1层A030',\n",
       "   'distance': [],\n",
       "   'biz_ext': [],\n",
       "   'pname': '广东省',\n",
       "   'importance': [],\n",
       "   'biz_type': 'diner',\n",
       "   'cityname': '广州市',\n",
       "   'type': '餐饮服务;外国餐厅;日本料理',\n",
       "   'photos': [],\n",
       "   'typecode': '050202',\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'childtype': [],\n",
       "   'adname': '越秀区',\n",
       "   'name': '争鲜回转寿司(流行前线店)',\n",
       "   'location': '113.283537,23.126526',\n",
       "   'tel': '020-83653357',\n",
       "   'shopid': [],\n",
       "   'id': 'B001423IDS'},\n",
       "  {'parent': 'B00140U0SG',\n",
       "   'address': '中山三路33号中华广场7楼747铺(近地王广场)',\n",
       "   'distance': [],\n",
       "   'biz_ext': [],\n",
       "   'pname': '广东省',\n",
       "   'importance': [],\n",
       "   'biz_type': 'diner',\n",
       "   'cityname': '广州市',\n",
       "   'type': '餐饮服务;中餐厅;海鲜酒楼|餐饮服务;中餐厅;综合酒楼',\n",
       "   'photos': [],\n",
       "   'typecode': '050119|050101',\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'childtype': '201',\n",
       "   'adname': '越秀区',\n",
       "   'name': '华融宫海鲜酒家',\n",
       "   'location': '113.281983,23.125563',\n",
       "   'tel': '020-83738808;020-83739527',\n",
       "   'shopid': [],\n",
       "   'id': 'B00140CK77'},\n",
       "  {'parent': 'B001423QK7',\n",
       "   'address': '中山四路199-231号东鸣轩4楼(近农讲所)',\n",
       "   'distance': [],\n",
       "   'biz_ext': [],\n",
       "   'pname': '广东省',\n",
       "   'importance': [],\n",
       "   'biz_type': 'diner',\n",
       "   'cityname': '广州市',\n",
       "   'type': '餐饮服务;中餐厅;综合酒楼',\n",
       "   'photos': [],\n",
       "   'typecode': '050101',\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'childtype': '202',\n",
       "   'adname': '越秀区',\n",
       "   'name': '唐人轩酒家',\n",
       "   'location': '113.273635,23.126007',\n",
       "   'tel': '020-83721777;020-83721999',\n",
       "   'shopid': [],\n",
       "   'id': 'B00140U3JY'},\n",
       "  {'parent': [],\n",
       "   'address': '中山二路92号(省人民医院)',\n",
       "   'distance': [],\n",
       "   'biz_ext': [],\n",
       "   'pname': '广东省',\n",
       "   'importance': [],\n",
       "   'biz_type': 'diner',\n",
       "   'cityname': '广州市',\n",
       "   'type': '餐饮服务;中餐厅;综合酒楼',\n",
       "   'photos': [],\n",
       "   'typecode': '050101',\n",
       "   'shopinfo': '1',\n",
       "   'poiweight': [],\n",
       "   'childtype': [],\n",
       "   'adname': '越秀区',\n",
       "   'name': '新丰年酒楼',\n",
       "   'location': '113.287451,23.126392',\n",
       "   'tel': '020-83653187',\n",
       "   'shopid': [],\n",
       "   'id': 'B0FFHQK01W'},\n",
       "  {'parent': 'B00140B6K6',\n",
       "   'address': '环市东路368号花园酒店3层',\n",
       "   'distance': [],\n",
       "   'biz_ext': [],\n",
       "   'pname': '广东省',\n",
       "   'importance': [],\n",
       "   'biz_type': 'diner',\n",
       "   'cityname': '广州市',\n",
       "   'type': '餐饮服务;中餐厅;综合酒楼',\n",
       "   'photos': [],\n",
       "   'typecode': '050101',\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'childtype': '202',\n",
       "   'adname': '越秀区',\n",
       "   'name': '桃园馆(环市店)',\n",
       "   'location': '113.286301,23.135227',\n",
       "   'tel': '020-83338989',\n",
       "   'shopid': [],\n",
       "   'id': 'B00140AVJ8'},\n",
       "  {'parent': [],\n",
       "   'address': '中山四路130号(近农讲所)',\n",
       "   'distance': [],\n",
       "   'biz_ext': [],\n",
       "   'pname': '广东省',\n",
       "   'importance': [],\n",
       "   'biz_type': 'diner',\n",
       "   'cityname': '广州市',\n",
       "   'type': '餐饮服务;快餐厅;茶餐厅',\n",
       "   'photos': [],\n",
       "   'typecode': '050305',\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'childtype': [],\n",
       "   'adname': '越秀区',\n",
       "   'name': '永盈茶餐厅(中山四路店)',\n",
       "   'location': '113.274317,23.126703',\n",
       "   'tel': '020-83371975;020-83303519',\n",
       "   'shopid': [],\n",
       "   'id': 'B00140D2WB'},\n",
       "  {'parent': [],\n",
       "   'address': '中山三路福兴街4号102房',\n",
       "   'distance': [],\n",
       "   'biz_ext': [],\n",
       "   'pname': '广东省',\n",
       "   'importance': [],\n",
       "   'biz_type': 'diner',\n",
       "   'cityname': '广州市',\n",
       "   'type': '餐饮服务;中餐厅;中餐厅',\n",
       "   'photos': [],\n",
       "   'typecode': '050100',\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'childtype': [],\n",
       "   'adname': '越秀区',\n",
       "   'name': '佳叔汤丸王(中山三路店)',\n",
       "   'location': '113.281606,23.126769',\n",
       "   'tel': '020-83837366',\n",
       "   'shopid': [],\n",
       "   'id': 'B00140PTK7'},\n",
       "  {'parent': [],\n",
       "   'address': '德政中路279号首层',\n",
       "   'distance': [],\n",
       "   'biz_ext': [],\n",
       "   'pname': '广东省',\n",
       "   'importance': [],\n",
       "   'biz_type': 'diner',\n",
       "   'cityname': '广州市',\n",
       "   'type': '餐饮服务;中餐厅;中餐厅',\n",
       "   'photos': [],\n",
       "   'typecode': '050100',\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'childtype': [],\n",
       "   'adname': '越秀区',\n",
       "   'name': '恋尚新豆花',\n",
       "   'location': '113.275344,23.124742',\n",
       "   'tel': '15800291101',\n",
       "   'shopid': [],\n",
       "   'id': 'B00141YJRX'},\n",
       "  {'parent': [],\n",
       "   'address': '越秀南路161号(嘉年华芬兰浴馆对面)',\n",
       "   'distance': [],\n",
       "   'biz_ext': [],\n",
       "   'pname': '广东省',\n",
       "   'importance': [],\n",
       "   'biz_type': 'diner',\n",
       "   'cityname': '广州市',\n",
       "   'type': '餐饮服务;中餐厅;中餐厅',\n",
       "   'photos': [],\n",
       "   'typecode': '050100',\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'childtype': [],\n",
       "   'adname': '越秀区',\n",
       "   'name': '风味馆',\n",
       "   'location': '113.277454,23.121212',\n",
       "   'tel': '18620913373',\n",
       "   'shopid': [],\n",
       "   'id': 'B00140U1MV'},\n",
       "  {'parent': [],\n",
       "   'address': '较场东路31号(人民体育场东门对面)',\n",
       "   'distance': [],\n",
       "   'biz_ext': [],\n",
       "   'pname': '广东省',\n",
       "   'importance': [],\n",
       "   'biz_type': 'diner',\n",
       "   'cityname': '广州市',\n",
       "   'type': '餐饮服务;外国餐厅;外国餐厅',\n",
       "   'photos': [],\n",
       "   'typecode': '050200',\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'childtype': [],\n",
       "   'adname': '越秀区',\n",
       "   'name': '802居酒屋',\n",
       "   'location': '113.284957,23.124104',\n",
       "   'tel': '020-83750421',\n",
       "   'shopid': [],\n",
       "   'id': 'B0FFHFDUQ1'}],\n",
       " 'status': '1',\n",
       " 'info': 'OK'}"
      ]
     },
     "execution_count": 287,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "g = text(huang_key,keywords=\"美食\",city=\"广州\")\n",
    "g"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 周边搜索 \n",
    "\n",
    "> * 1、url:https://restapi.amap.com/v3/place/around?parameters    \n",
    "> * 2、requests.get()\n",
    "> * 3、适用场景：在用户传入经纬度坐标点附近，在设定的范围内，按照关键字或POI类型搜索。\n",
    "> * 4、参数：\n",
    "\n",
    ">> * A.必选：key，location\n",
    ">> * B.可选：keyword（查询关键字），types（查询POI类型），city（查询城市），radius（查询半径，缺省值：3000），sortrule（排序规则，缺省值：distance），offset（每页记录数据，缺省值：20），page（当前页数，缺省值：1），extensions（返回结果控制，默认值：base），sig（数字签名），output（返回数据格式类型，缺省值：JSON），callback（回调函数）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 288,
   "metadata": {},
   "outputs": [],
   "source": [
    "location=\"113.679287,23.632575\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 289,
   "metadata": {},
   "outputs": [],
   "source": [
    "def around(key,location,keywords=None,types=None,city=None,radius=3000,sortrule=\"distance\",offset=20,page=1,extensions=\"base\",sig=None,output=\"JSON\",callback=None):\n",
    "    around_url = \"https://restapi.amap.com/v3/place/around?parameters\"\n",
    "    params = {\n",
    "        \"key\":key,\n",
    "        \"location\":location,\n",
    "        \"keywords\":keywords,\n",
    "        \"types\":types,\n",
    "        \"city\":city,\n",
    "        \"radius\":radius,\n",
    "        \"sortrule\":sortrule,\n",
    "        \"offset\":offset,\n",
    "        \"page\":page,\n",
    "        \"extensions\":extensions,\n",
    "        \"sig\":sig,\n",
    "        \"output\":output,\n",
    "        \"callback\":callback\n",
    "    }\n",
    "    \n",
    "    r = requests.get(around_url,params=params)\n",
    "    result = r.json()\n",
    "    return result"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 290,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'suggestion': {'keywords': [], 'cities': []},\n",
       " 'count': '194',\n",
       " 'infocode': '10000',\n",
       " 'pois': [{'parent': [],\n",
       "   'address': '从化温泉镇中山大学南方学院博学路6号',\n",
       "   'distance': '0',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'biz_type': 'diner',\n",
       "   'type': '餐饮服务;中餐厅;特色/地方风味餐厅',\n",
       "   'photos': [],\n",
       "   'typecode': '050118',\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'childtype': [],\n",
       "   'name': '爽爽石磨肠粉',\n",
       "   'location': '113.679287,23.632575',\n",
       "   'tel': '18218913303',\n",
       "   'shopid': [],\n",
       "   'id': 'B0FFKX3T5Y'},\n",
       "  {'parent': [],\n",
       "   'address': '温泉镇中山大学南方学院后门润泰超市一楼05号商铺',\n",
       "   'distance': '0',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'biz_type': 'diner',\n",
       "   'type': '餐饮服务;中餐厅;特色/地方风味餐厅',\n",
       "   'photos': [],\n",
       "   'typecode': '050118',\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'childtype': [],\n",
       "   'name': '劲酷烤吧',\n",
       "   'location': '113.679286,23.632573',\n",
       "   'tel': '13719231627',\n",
       "   'shopid': [],\n",
       "   'id': 'B0G3AYBO5X'},\n",
       "  {'parent': [],\n",
       "   'address': '温泉镇中山大学南方学院后门润泰超市一楼05号商铺',\n",
       "   'distance': '0',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'biz_type': 'diner',\n",
       "   'type': '餐饮服务;中餐厅;广东菜(粤菜)',\n",
       "   'photos': [],\n",
       "   'typecode': '050103',\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'childtype': [],\n",
       "   'name': '东记乡村美食',\n",
       "   'location': '113.679286,23.632573',\n",
       "   'tel': '13922398107',\n",
       "   'shopid': [],\n",
       "   'id': 'B0G3APADKJ'},\n",
       "  {'parent': [],\n",
       "   'address': '温泉镇中山大学南方学院后门润泰超市一楼05号商铺',\n",
       "   'distance': '0',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'biz_type': 'diner',\n",
       "   'type': '餐饮服务;快餐厅;快餐厅',\n",
       "   'photos': [],\n",
       "   'typecode': '050300',\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'childtype': [],\n",
       "   'name': '北方饺子馆',\n",
       "   'location': '113.679286,23.632573',\n",
       "   'tel': '13434241448',\n",
       "   'shopid': [],\n",
       "   'id': 'B0G2Z7IX80'},\n",
       "  {'parent': [],\n",
       "   'address': '中山大学南方学院',\n",
       "   'distance': '0',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'biz_type': 'diner',\n",
       "   'type': '餐饮服务;中餐厅;四川菜(川菜)',\n",
       "   'photos': [],\n",
       "   'typecode': '050102',\n",
       "   'shopinfo': '1',\n",
       "   'poiweight': [],\n",
       "   'childtype': [],\n",
       "   'name': '重庆湖边纸包鱼',\n",
       "   'location': '113.679871,23.630292',\n",
       "   'tel': '13924024938',\n",
       "   'shopid': [],\n",
       "   'id': 'B0FFL7NUA2'},\n",
       "  {'parent': [],\n",
       "   'address': '博学路中山大学南方学院后门润泰超市首层23号',\n",
       "   'distance': '1',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'biz_type': 'diner',\n",
       "   'type': '餐饮服务;快餐厅;快餐厅',\n",
       "   'photos': [],\n",
       "   'typecode': '050300',\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'childtype': [],\n",
       "   'name': '我家厨房',\n",
       "   'location': '113.679289,23.632563',\n",
       "   'tel': [],\n",
       "   'shopid': [],\n",
       "   'id': 'B0FFK28XPU'},\n",
       "  {'parent': [],\n",
       "   'address': '温泉镇博学路中山大学南方学院后门润泰超市一楼05号商铺',\n",
       "   'distance': '9',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'biz_type': 'diner',\n",
       "   'type': '餐饮服务;外国餐厅;日本料理',\n",
       "   'photos': [],\n",
       "   'typecode': '050202',\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'childtype': [],\n",
       "   'name': '井禾寿司',\n",
       "   'location': '113.679193,23.632552',\n",
       "   'tel': '13789117723',\n",
       "   'shopid': [],\n",
       "   'id': 'B0G14PDQVA'},\n",
       "  {'parent': [],\n",
       "   'address': '中山大学南方学院',\n",
       "   'distance': '12',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'biz_type': 'diner',\n",
       "   'type': '餐饮服务;外国餐厅;西餐厅(综合风味)',\n",
       "   'photos': [],\n",
       "   'typecode': '050201',\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'childtype': [],\n",
       "   'name': 'Uni-hotel西餐',\n",
       "   'location': '113.679224,23.632671',\n",
       "   'tel': [],\n",
       "   'shopid': [],\n",
       "   'id': 'B0GR3OMDZ2'},\n",
       "  {'parent': [],\n",
       "   'address': '从化温泉镇中山大学南方学院明辩路2号',\n",
       "   'distance': '16',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'biz_type': 'diner',\n",
       "   'type': '餐饮服务;中餐厅;广东菜(粤菜)',\n",
       "   'photos': [],\n",
       "   'typecode': '050103',\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'childtype': [],\n",
       "   'name': '耀记美食',\n",
       "   'location': '113.679405,23.632673',\n",
       "   'tel': '18816801934',\n",
       "   'shopid': [],\n",
       "   'id': 'B0GRGOTLSL'},\n",
       "  {'parent': [],\n",
       "   'address': '温泉镇中山大学南方学院后门润泰超市一楼05号商铺',\n",
       "   'distance': '16',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'biz_type': 'diner',\n",
       "   'type': '餐饮服务;快餐厅;快餐厅',\n",
       "   'photos': [],\n",
       "   'typecode': '050300',\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'childtype': [],\n",
       "   'name': '庄海烧腊店',\n",
       "   'location': '113.679405,23.632673',\n",
       "   'tel': '13609055325',\n",
       "   'shopid': [],\n",
       "   'id': 'B0G3MR1ULG'},\n",
       "  {'parent': [],\n",
       "   'address': '温泉镇中山大学南方学院后门润泰超市一楼05号商铺',\n",
       "   'distance': '16',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'biz_type': 'diner',\n",
       "   'type': '餐饮服务;中餐厅;中餐厅',\n",
       "   'photos': [],\n",
       "   'typecode': '050100',\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'childtype': [],\n",
       "   'name': '羽大仙儿',\n",
       "   'location': '113.679405,23.632673',\n",
       "   'tel': '13089193232',\n",
       "   'shopid': [],\n",
       "   'id': 'B0G3AGANIB'},\n",
       "  {'parent': [],\n",
       "   'address': '温泉镇中山大学南方学院后门润泰超市一楼05号商铺',\n",
       "   'distance': '16',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'biz_type': 'diner',\n",
       "   'type': '餐饮服务;快餐厅;快餐厅',\n",
       "   'photos': [],\n",
       "   'typecode': '050300',\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'childtype': [],\n",
       "   'name': '陈记鱼庄',\n",
       "   'location': '113.679405,23.632673',\n",
       "   'tel': '19820396588',\n",
       "   'shopid': [],\n",
       "   'id': 'B0G3AGA9GN'},\n",
       "  {'parent': [],\n",
       "   'address': '温泉大道882号',\n",
       "   'distance': '119',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'biz_type': 'diner',\n",
       "   'type': '餐饮服务;快餐厅;快餐厅',\n",
       "   'photos': [],\n",
       "   'typecode': '050300',\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'childtype': [],\n",
       "   'name': '养生凉茶炖汤(中大南方店)',\n",
       "   'location': '113.678290,23.633140',\n",
       "   'tel': [],\n",
       "   'shopid': [],\n",
       "   'id': 'B0GRDSH076'},\n",
       "  {'parent': [],\n",
       "   'address': '温泉镇中山大学南方学院后门润泰超市一楼03号商铺',\n",
       "   'distance': '154',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'biz_type': 'diner',\n",
       "   'type': '餐饮服务;快餐厅;快餐厅',\n",
       "   'photos': [],\n",
       "   'typecode': '050300',\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'childtype': [],\n",
       "   'name': '好食汇(中大店)',\n",
       "   'location': '113.677797,23.632341',\n",
       "   'tel': '13145741609',\n",
       "   'shopid': [],\n",
       "   'id': 'B0FFKT1U35'},\n",
       "  {'parent': [],\n",
       "   'address': '欣荣宏大厦',\n",
       "   'distance': '267',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'biz_type': 'diner',\n",
       "   'type': '餐饮服务;外国餐厅;西餐厅(综合风味)',\n",
       "   'photos': [],\n",
       "   'typecode': '050201',\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'childtype': [],\n",
       "   'name': 'D.Oclub',\n",
       "   'location': '113.681830,23.631984',\n",
       "   'tel': [],\n",
       "   'shopid': [],\n",
       "   'id': 'B0G27BCQHX'},\n",
       "  {'parent': [],\n",
       "   'address': '温泉镇笃行路20,22,24号',\n",
       "   'distance': '277',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'biz_type': 'diner',\n",
       "   'type': '餐饮服务;快餐厅;快餐厅',\n",
       "   'photos': [],\n",
       "   'typecode': '050300',\n",
       "   'shopinfo': '1',\n",
       "   'poiweight': [],\n",
       "   'childtype': [],\n",
       "   'name': '三味熟屋',\n",
       "   'location': '113.680180,23.630224',\n",
       "   'tel': '13411699828',\n",
       "   'shopid': [],\n",
       "   'id': 'B0FFM6M1XS'},\n",
       "  {'parent': [],\n",
       "   'address': '温泉镇温泉大道中山大学南方学院商业楼一楼',\n",
       "   'distance': '298',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'biz_type': 'diner',\n",
       "   'type': '餐饮服务;中餐厅;中餐厅',\n",
       "   'photos': [],\n",
       "   'typecode': '050100',\n",
       "   'shopinfo': '1',\n",
       "   'poiweight': [],\n",
       "   'childtype': [],\n",
       "   'name': '不二家无烟电烤串',\n",
       "   'location': '113.680102,23.630002',\n",
       "   'tel': [],\n",
       "   'shopid': [],\n",
       "   'id': 'B0FFLB71X5'},\n",
       "  {'parent': [],\n",
       "   'address': '博学路',\n",
       "   'distance': '332',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'biz_type': 'diner',\n",
       "   'type': '餐饮服务;中餐厅;中餐厅',\n",
       "   'photos': [],\n",
       "   'typecode': '050100',\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'childtype': [],\n",
       "   'name': '中大南方学院1食堂',\n",
       "   'location': '113.676084,23.632024',\n",
       "   'tel': [],\n",
       "   'shopid': [],\n",
       "   'id': 'B0FFIXV3OZ'},\n",
       "  {'parent': [],\n",
       "   'address': '中山大学南方学院明辩路2号第三饭堂',\n",
       "   'distance': '341',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'biz_type': 'diner',\n",
       "   'type': '餐饮服务;快餐厅;快餐厅',\n",
       "   'photos': [],\n",
       "   'typecode': '050300',\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'childtype': [],\n",
       "   'name': '茗语轩餐厅',\n",
       "   'location': '113.681901,23.634495',\n",
       "   'tel': '13929501395;13533390928',\n",
       "   'shopid': [],\n",
       "   'id': 'B0FFHHLMF8'},\n",
       "  {'parent': [],\n",
       "   'address': '从化温泉镇中山大学南方学院明辨路2号',\n",
       "   'distance': '347',\n",
       "   'biz_ext': [],\n",
       "   'importance': [],\n",
       "   'biz_type': 'diner',\n",
       "   'type': '餐饮服务;中餐厅;中餐厅',\n",
       "   'photos': [],\n",
       "   'typecode': '050100',\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'childtype': [],\n",
       "   'name': '东区三饭餐厅',\n",
       "   'location': '113.682163,23.634249',\n",
       "   'tel': [],\n",
       "   'shopid': [],\n",
       "   'id': 'B0FFHTZYHQ'}],\n",
       " 'status': '1',\n",
       " 'info': 'OK'}"
      ]
     },
     "execution_count": 290,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "h = around(huang_key,location,keywords=\"美食\",city=\"从化\")\n",
    "h"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 多边形搜索 \n",
    "\n",
    "> * 1、url:https://restapi.amap.com/v3/place/polygon?parameters     \n",
    "> * 2、requests.get()\n",
    "> * 3、适用场景：在多边形区域内进行搜索。\n",
    "> * 4、参数：\n",
    "\n",
    ">> * A.必选：key，polygon（经纬度坐标对）\n",
    ">> * B.可选：keyword（查询关键字），types（查询POI类型），city（查询城市），offset（每页记录数据，缺省值：20），page（当前页数，缺省值：1），extensions（返回结果控制，默认值：base），sig（数字签名），output（返回数据格式类型，缺省值：JSON），callback（回调函数）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 291,
   "metadata": {},
   "outputs": [],
   "source": [
    "polygon=\"116.460988,40.006919|116.48231,40.007381;116.47516,39.99713|116.472596,39.985227|116.45669,39.984989|116.460988,40.006919\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 292,
   "metadata": {},
   "outputs": [],
   "source": [
    "def duobianxing(huang_key,polygon,keywords,types=None,city=None,offset=20,page=1,extensions=\"base\",sig=None,output=\"JSON\",callback=None):\n",
    "    polygon_url = \"https://restapi.amap.com/v3/place/polygon?parameters \"\n",
    "    params = {\n",
    "        \"key\":huang_key,\n",
    "        \"polygon\":polygon,\n",
    "        \"keywords\":keywords,\n",
    "        \"types\":types,\n",
    "        \"city\":city,\n",
    "        \"offset\":offset,\n",
    "        \"page\":page,\n",
    "        \"extensions\":extensions,\n",
    "        \"sig\":sig,\n",
    "        \"output\":output,\n",
    "        \"callback\":callback\n",
    "    }\n",
    "    \n",
    "    r = requests.get(polygon_url,params=params)\n",
    "    result = r.json()\n",
    "    return result"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 293,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'suggestion': {'keywords': [], 'cities': []},\n",
       " 'count': '3',\n",
       " 'infocode': '10000',\n",
       " 'pois': [{'parent': 'B0FFF5UV26',\n",
       "   'address': '花家地1号楼1层',\n",
       "   'distance': [],\n",
       "   'biz_ext': [],\n",
       "   'pname': '北京市',\n",
       "   'importance': [],\n",
       "   'biz_type': [],\n",
       "   'cityname': '北京市',\n",
       "   'type': '购物服务;便民商店/便利店;7-ELEVEn便利店',\n",
       "   'photos': [],\n",
       "   'typecode': '060201',\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'childtype': '202',\n",
       "   'adname': '朝阳区',\n",
       "   'name': '7-ELEVEn(花家地店)',\n",
       "   'location': '116.468422,39.985332',\n",
       "   'tel': '010-84711042',\n",
       "   'shopid': [],\n",
       "   'id': 'B000A8VS8T'},\n",
       "  {'parent': 'B0GUO762K5',\n",
       "   'address': '南湖南路16号院4-103',\n",
       "   'distance': [],\n",
       "   'biz_ext': [],\n",
       "   'pname': '北京市',\n",
       "   'importance': [],\n",
       "   'biz_type': [],\n",
       "   'cityname': '北京市',\n",
       "   'type': '购物服务;便民商店/便利店;7-ELEVEn便利店',\n",
       "   'photos': [],\n",
       "   'typecode': '060201',\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'childtype': '202',\n",
       "   'adname': '朝阳区',\n",
       "   'name': '7-ELEVEn(南湖南路店)',\n",
       "   'location': '116.463362,39.991549',\n",
       "   'tel': '010-64727931',\n",
       "   'shopid': [],\n",
       "   'id': 'B0FFH0HTL0'},\n",
       "  {'parent': [],\n",
       "   'address': '望京西园四区402号楼一层402-3-5号',\n",
       "   'distance': [],\n",
       "   'biz_ext': [],\n",
       "   'pname': '北京市',\n",
       "   'importance': [],\n",
       "   'biz_type': [],\n",
       "   'cityname': '北京市',\n",
       "   'type': '购物服务;便民商店/便利店;7-ELEVEn便利店',\n",
       "   'photos': [],\n",
       "   'typecode': '060201',\n",
       "   'shopinfo': '1',\n",
       "   'poiweight': [],\n",
       "   'childtype': [],\n",
       "   'adname': '朝阳区',\n",
       "   'name': '7-ELEVEn(望京西园四区北侧店)',\n",
       "   'location': '116.472409,39.998884',\n",
       "   'tel': '13810200614;010-84727610',\n",
       "   'shopid': [],\n",
       "   'id': 'B000A85O8H'}],\n",
       " 'status': '1',\n",
       " 'info': 'OK'}"
      ]
     },
     "execution_count": 293,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "zb = duobianxing(huang_key,polygon,keywords=\"711\")\n",
    "zb"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### ID查询\n",
    "\n",
    "> * 1、url:https://restapi.amap.com/v3/place/detail?parameters     \n",
    "> * 2、requests.get()\n",
    "> * 3、适用场景：通过POI ID，查询某个POI详情，建议可同输入提示API配合使用。\n",
    "> * 4、参数：\n",
    "\n",
    ">> * A.必选：key，id（兴趣点ID）\n",
    ">> * B.可选：sig（数字签名），output（返回数据格式类型，缺省值：JSON），callback（回调函数）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 294,
   "metadata": {},
   "outputs": [],
   "source": [
    "id = \"B0FFFAB6J2\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 295,
   "metadata": {},
   "outputs": [],
   "source": [
    "def detail(key,id,sig=None,output=\"JSON\",callback=None):\n",
    "    detail_url = \"https://restapi.amap.com/v3/place/detail?parameters\"\n",
    "    params = {\n",
    "        \"key\":key,\n",
    "        \"id\":id,\n",
    "        \"sig\":sig,\n",
    "        \"output\":output,\n",
    "        \"callback\":callback\n",
    "    }\n",
    "    \n",
    "    r = requests.get(detail_url,params=params)\n",
    "    result = r.json()\n",
    "    return result"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 296,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'count': '1',\n",
       " 'infocode': '10000',\n",
       " 'pois': [{'parent': [],\n",
       "   'distance': [],\n",
       "   'pcode': '110000',\n",
       "   'importance': [],\n",
       "   'biz_ext': {'cost': [], 'rating': []},\n",
       "   'recommend': '0',\n",
       "   'type': '商务住宅;楼宇;商务写字楼',\n",
       "   'photos': [{'title': '效果图',\n",
       "     'url': 'http://store.is.autonavi.com/showpic/a9836f620749c34742cf1ab67dc98f08'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/53b11166a310a21470acde3a'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/53b11166a310a21470acde31'}],\n",
       "   'discount_num': '0',\n",
       "   'gridcode': '5916739702',\n",
       "   'typecode': '120201',\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'deep_info': {'deepsrc': []},\n",
       "   'citycode': '010',\n",
       "   'adname': '朝阳区',\n",
       "   'indoor_src': '高德地图',\n",
       "   'children': [],\n",
       "   'tel': [],\n",
       "   'id': 'B0FFFAB6J2',\n",
       "   'tag': [],\n",
       "   'event': [],\n",
       "   'entr_location': '116.473993,39.992784',\n",
       "   'indoor_map': '1',\n",
       "   'email': [],\n",
       "   'timestamp': '2020-11-14 16:53:59',\n",
       "   'website': [],\n",
       "   'address': '阜荣街10号',\n",
       "   'adcode': '110105',\n",
       "   'pname': '北京市',\n",
       "   'biz_type': [],\n",
       "   'cityname': '北京市',\n",
       "   'postcode': [],\n",
       "   'match': '0',\n",
       "   'business_area': '望京',\n",
       "   'indoor_data': {'cmsid': 'TY000191_B0FFFAB6J2',\n",
       "    'truefloor': [],\n",
       "    'cpid': 'B0FFFAB6J2',\n",
       "    'floor': []},\n",
       "   'childtype': [],\n",
       "   'rich_content': [],\n",
       "   'exit_location': [],\n",
       "   'name': '首开广场',\n",
       "   'location': '116.473004,39.993306',\n",
       "   'shopid': [],\n",
       "   'navi_poiid': 'J50F001020_342662',\n",
       "   'groupbuy_num': '0'}],\n",
       " 'status': '1',\n",
       " 'info': 'OK'}"
      ]
     },
     "execution_count": 296,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "j = detail(huang_key,id)\n",
    "j"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### IP定位\n",
    "\n",
    "> * A.url : https://restapi.amap.com/v3/ip?parameters   \n",
    "> * B.requests.get()\n",
    "> * C.适用场景：希望能够将IP信息转换为地理位置信息。\n",
    "> * D.参数：    \n",
    "\n",
    ">> * 1、必选：key（高德API秘钥）\n",
    ">> * 2、可选:ip（ip地址），sig（数字签名），output（返回数据格式类型，缺省值：JSON）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 297,
   "metadata": {},
   "outputs": [],
   "source": [
    "ip = \"114.247.50.2\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 298,
   "metadata": {},
   "outputs": [],
   "source": [
    "def ip(key,ip,sig=None,output=\"JSON\"):\n",
    "    ip_url = \"https://restapi.amap.com/v3/ip?parameters\"\n",
    "    params = {\n",
    "        \"key\":key,\n",
    "        \"ip\":ip,\n",
    "        \"sig\":sig,\n",
    "        \"output\":\"json\"\n",
    "    }\n",
    "    \n",
    "    r = requests.get(ip_url,params=params)\n",
    "    result = r.json()\n",
    "    return result"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 299,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'status': '1',\n",
       " 'info': 'OK',\n",
       " 'infocode': '10000',\n",
       " 'province': [],\n",
       " 'city': [],\n",
       " 'adcode': [],\n",
       " 'rectangle': []}"
      ]
     },
     "execution_count": 299,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "l = ip(huang_key,ip)\n",
    "l"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 静态地图\n",
    "\n",
    "> * A.url : https://restapi.amap.com/v3/staticmap?parameters   \n",
    "> * B.requests.get() \n",
    "> * C.截取图片呈现地理位置及周边信息\n",
    "> * D.参数：    \n",
    "\n",
    ">> * 1、必选：key（高德API秘钥），location，zoom（地图级别）\n",
    ">> * 2、可选:size（地图大小，默认：400* 400），scale（普通/高清，默认：1），markers（标注），labels（标签），paths（折线），traffic（交通路况标识，缺省值：0），sig（数字签名）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 368,
   "metadata": {},
   "outputs": [],
   "source": [
    "from PIL import Image\n",
    "from io import BytesIO\n",
    "import requests\n",
    "\n",
    "def static_map(key,location,zoom,size=None,scale=1,markers=None,labels=None,paths=None,traffic=0,page=None,sig=None):\n",
    "    url = \"https://restapi.amap.com/v3/staticmap?parameters\"\n",
    "    params = {\n",
    "        \"key\":key,\n",
    "        \"location\":location,\n",
    "        \"zoom\":zoom,\n",
    "        \"size\":size,\n",
    "        \"scale\":scale,\n",
    "        \"markers\":markers,\n",
    "        \"labels\":labels,\n",
    "        \"paths\":paths,\n",
    "        \"traffic\":traffic,\n",
    "        \"sig\":sig,\n",
    "        \"output\":\"json\"\n",
    "        }\n",
    "    \n",
    "    r = requests.get(url,params=params)\n",
    "    data = Image.open(BytesIO(r.content))\n",
    "    return data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 369,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<PIL.PngImagePlugin.PngImageFile image mode=P size=400x400 at 0x1E4E84B8430>"
      ]
     },
     "execution_count": 369,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "中大南方 = static_map(huang_key,location=\"113.679287,23.632575\",zoom=15)\n",
    "中大南方"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 坐标转换\n",
    "\n",
    "> * A.url : https://restapi.amap.com/v3/assistant/coordinate/convert?parameters   \n",
    "> * B.requests.get() \n",
    "> * C.适用场景：为了使用高德服务，用户需要将非高德坐标转换为高德坐标。\n",
    "> * D.参数：    \n",
    "\n",
    ">> * 1、必选：key（高德API秘钥），locations\n",
    ">> * 2、可选:coordsys（原坐标系，缺省值：autonavi），sig（数字签名），output（返回数据格式类型，缺省值：JSON）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 303,
   "metadata": {},
   "outputs": [],
   "source": [
    "locations = \"116.481499,39.990475|116.481499,39.990375\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 304,
   "metadata": {},
   "outputs": [],
   "source": [
    "def convert(key,locations,coordsys=\"autonavi\",sig=None,output=\"JSON\"):\n",
    "    convert_url = \" https://restapi.amap.com/v3/assistant/coordinate/convert?parameters\"\n",
    "    params = {\n",
    "        \"key\":key,\n",
    "        \"locations\":locations,\n",
    "        \"coordsys\":coordsys,\n",
    "        \"sig\":sig,\n",
    "        \"output\":output\n",
    "    }\n",
    "    \n",
    "    r = requests.get(convert_url,params=params)\n",
    "    result = r.json()\n",
    "    return result"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 305,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'status': '1',\n",
       " 'info': 'ok',\n",
       " 'infocode': '10000',\n",
       " 'locations': '116.487585177952,39.991754014757;116.487585177952,39.991653917101'}"
      ]
     },
     "execution_count": 305,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "m = convert(huang_key,locations,coordsys=\"gps\")\n",
    "m"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 天气查询\n",
    "\n",
    "> * A.url : https://restapi.amap.com/v3/weather/weatherInfo?parameters   \n",
    "> * B.requests.get() \n",
    "> * C.适用场景：需要使用相关天气查询的时候。\n",
    "> * D.参数：    \n",
    "\n",
    ">> * 1、必选：key（高德API秘钥），city\n",
    ">> * 2、可选:extensions（气象类型,base:返回实况天气，all:返回预报天气），output（返回数据格式类型，缺省值：JSON）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 306,
   "metadata": {},
   "outputs": [],
   "source": [
    "def weatherlnfo(key,city,extensions=None,output=\"JSON\"):\n",
    "    weatherlnfo_url = \" https://restapi.amap.com/v3/weather/weatherInfo?parameters\"\n",
    "    params = {\n",
    "        \"key\":key,\n",
    "        \"city\":city,\n",
    "        \"extensions\":extensions,\n",
    "        \"output\":output\n",
    "    }\n",
    "    \n",
    "    r = requests.get(weatherlnfo_url,params=params)\n",
    "    result = r.json()\n",
    "    return result"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 307,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'status': '1',\n",
       " 'count': '1',\n",
       " 'info': 'OK',\n",
       " 'infocode': '10000',\n",
       " 'lives': [{'province': '广东',\n",
       "   'city': '从化区',\n",
       "   'adcode': '440117',\n",
       "   'weather': '阴',\n",
       "   'temperature': '20',\n",
       "   'winddirection': '东南',\n",
       "   'windpower': '≤3',\n",
       "   'humidity': '97',\n",
       "   'reporttime': '2020-11-14 20:52:36'}]}"
      ]
     },
     "execution_count": 307,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "k = weatherlnfo(huang_key,city=\"从化\",extensions=\"base\")\n",
    "k"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 输入提示\n",
    "\n",
    "> * A.url : https://restapi.amap.com/v3/assistant/inputtips?parameters   \n",
    "> * B.requests.get()\n",
    "> * C.适用场景：在高德客户端的使用场景，输入“关键字”之后出现提示相关。\n",
    "> * D.参数：    \n",
    "\n",
    ">> * 1、必选：key（高德API秘钥），keywords\n",
    ">> * 2、可选:type（POI分类），location（坐标），city（搜索城市），citylimit（仅返回指定城市数据，缺省值：false），datatype（返回的数据类型，可选：all），sig（数字签名），output（返回数据格式类型，缺省值：JSON），callback（回调函数）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 308,
   "metadata": {},
   "outputs": [],
   "source": [
    "def inputtips(key,keywords,type=None,location=None,city=None,citylimit=\"true\",datatype=\"all\",sig=None,output=\"JSON\",callback=None):\n",
    "    inputtips_url = \"https://restapi.amap.com/v3/assistant/inputtips?parameters\"\n",
    "    params = {\n",
    "        \"key\":key,\n",
    "        \"keywords\":keywords,\n",
    "        \"type\":type,\n",
    "        \"location\":location,\n",
    "        \"city\":city,\n",
    "        \"citylimit\":citylimit,\n",
    "        \"datatype\":datatype,\n",
    "        \"sig\":sig,\n",
    "        \"output\":output,\n",
    "        \"callback\":callback\n",
    "    }\n",
    "    \n",
    "    r = requests.get(inputtips_url,params=params)\n",
    "    result = r.json()\n",
    "    return result"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 309,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'status': '1',\n",
       " 'count': '10',\n",
       " 'info': 'OK',\n",
       " 'infocode': '10000',\n",
       " 'tips': [{'id': 'B0FFMDO7PX',\n",
       "   'name': '肯德基',\n",
       "   'district': '广东省广州市海珠区',\n",
       "   'adcode': '440105',\n",
       "   'location': '113.312700,23.100720',\n",
       "   'address': '金菊路10号万宜华轩首层',\n",
       "   'typecode': '050301',\n",
       "   'city': []},\n",
       "  {'id': 'B0GU3LJM7A',\n",
       "   'name': '肯德基',\n",
       "   'district': '广东省广州市越秀区',\n",
       "   'adcode': '440104',\n",
       "   'location': '113.295368,23.124743',\n",
       "   'address': [],\n",
       "   'typecode': '050300',\n",
       "   'city': []},\n",
       "  {'id': 'B0G304H07E',\n",
       "   'name': '肯德基',\n",
       "   'district': '广东省广州市番禺区',\n",
       "   'adcode': '440113',\n",
       "   'location': '113.325686,22.960360',\n",
       "   'address': '钟村街道广东广州市番禺区城区祈福新村祈福缤纷汇7栋',\n",
       "   'typecode': '050300',\n",
       "   'city': []},\n",
       "  {'id': 'B0FFHZAQU0',\n",
       "   'name': '肯德基',\n",
       "   'district': '广东省广州市白云区',\n",
       "   'adcode': '440111',\n",
       "   'location': '113.328485,23.191150',\n",
       "   'address': '京溪南方医院地铁D出口天州广场2楼',\n",
       "   'typecode': '050301',\n",
       "   'city': []},\n",
       "  {'id': 'B0FFGHHGY2',\n",
       "   'name': '肯德基(清湖店)',\n",
       "   'district': '广东省广州市白云区',\n",
       "   'adcode': '440111',\n",
       "   'location': '113.272307,23.256981',\n",
       "   'address': '均禾大道清湖段金铂广场1-2层',\n",
       "   'typecode': '050301',\n",
       "   'city': []},\n",
       "  {'id': 'B00141J8OS',\n",
       "   'name': '肯德基(上社店)',\n",
       "   'district': '广东省广州市天河区',\n",
       "   'adcode': '440106',\n",
       "   'location': '113.367587,23.132552',\n",
       "   'address': '中山大道西上社博兴购物广场2层(近天河公园北门)',\n",
       "   'typecode': '050301',\n",
       "   'city': []},\n",
       "  {'id': 'B00141IEYF',\n",
       "   'name': '肯德基(沙步店)',\n",
       "   'district': '广东省广州市黄埔区',\n",
       "   'adcode': '440112',\n",
       "   'location': '113.526104,23.085144',\n",
       "   'address': '沙步村沙步生活区市场商业街三路壹栋黄埔东路2841号',\n",
       "   'typecode': '050301',\n",
       "   'city': []},\n",
       "  {'id': 'B00141IEYA',\n",
       "   'name': '肯德基(淘金店)',\n",
       "   'district': '广东省广州市越秀区',\n",
       "   'adcode': '440104',\n",
       "   'location': '113.287706,23.139518',\n",
       "   'address': '淘金路淘金街6-8号1楼(世贸大厦后面)',\n",
       "   'typecode': '050301',\n",
       "   'city': []},\n",
       "  {'id': 'B00140B6XN',\n",
       "   'name': '肯德基(黄埔店)',\n",
       "   'district': '广东省广州市黄埔区',\n",
       "   'adcode': '440112',\n",
       "   'location': '113.447521,23.104422',\n",
       "   'address': '大沙地东路5-7号1-2层',\n",
       "   'typecode': '050301',\n",
       "   'city': []},\n",
       "  {'id': 'B00140UEPX',\n",
       "   'name': '肯德基(太和店)',\n",
       "   'district': '广东省广州市白云区',\n",
       "   'adcode': '440111',\n",
       "   'location': '113.355090,23.294287',\n",
       "   'address': '太和镇联升路自编1号首、二层',\n",
       "   'typecode': '050301',\n",
       "   'city': []}]}"
      ]
     },
     "execution_count": 309,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "o = inputtips(huang_key,keywords=\"肯德基\",city=\"广州\",datatype=\"all\")\n",
    "o"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 交通态势\n",
    "\n",
    "> * 1、矩形区域交通态势\n",
    "> * 2、圆形区域交通态势\n",
    "> * 3、指定路线交通态势\n",
    "> * 4、适用场景：希望能够确定矩形、圆形或某条道路的交通态势情况，路况信息2分钟更新一次。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 矩形区域交通态势\n",
    "\n",
    "> * A.url : https://restapi.amap.com/v3/traffic/status/rectangle?parameters   \n",
    "> * B.requests.get()    \n",
    "> * C.参数：    \n",
    "\n",
    ">> * 1、必选：key（高德API秘钥），rectangle（代表此为矩形区域查询）\n",
    ">> * 2、可选:level（道路等级，默认值：5），extensions（返回结果控制，可选：base或all），sig（数字签名），output（返回数据格式类型，缺省值：JSON），callback（回调函数）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 310,
   "metadata": {},
   "outputs": [],
   "source": [
    "rectangle = \"113.679287,23.632575;113.677134,23.635678\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 311,
   "metadata": {},
   "outputs": [],
   "source": [
    "def rectangle(key,rectangle,level=5,extensions=\"base\",sig=None,output=\"JSON\",callback=None):\n",
    "    rectangle_url = \"https://restapi.amap.com/v3/traffic/status/rectangle?parameters\"\n",
    "    params = {\n",
    "        \"key\":key,\n",
    "        \"rectangle\":rectangle,\n",
    "        \"level\":level,\n",
    "        \"extensions\":extensions,\n",
    "        \"sig\":sig,\n",
    "        \"output\":output,\n",
    "        \"callback\":callback\n",
    "    }\n",
    "    \n",
    "    r = requests.get(rectangle_url,params=params)\n",
    "    result = r.json()\n",
    "    return result"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 312,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'info': 'INSUFFICIENT_PRIVILEGES',\n",
       " 'infocode': '10012',\n",
       " 'status': '0',\n",
       " 'sec_code_debug': 'd41d8cd98f00b204e9800998ecf8427e',\n",
       " 'key': 'afd48d21eae6b744e054a3f1ac4411d8',\n",
       " 'sec_code': 'd41d8cd98f00b204e9800998ecf8427e'}"
      ]
     },
     "execution_count": 312,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "p = rectangle(huang_key,rectangle)\n",
    "p"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> * 由于交通态势需要权限，我无法获取，便不再继续。"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.3"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {
    "height": "calc(100% - 180px)",
    "left": "10px",
    "top": "150px",
    "width": "292.882px"
   },
   "toc_section_display": true,
   "toc_window_display": true
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
